CVE-2025-3930
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 43 - wyżej niż 43% wszystkich znanych CVE
Streszczenie
Strapi używa tokenów JWT do uwierzytelniania. Po wylogowaniu lub dezaktywacji konta token JWT nie jest unieważniany, co pozwala atakującemu, który ukradł lub przechwycił token, na jego ponowne użycie aż do daty wygaśnięcia (domyślnie 30 dni). Istnienie endpointu /admin/renew-token pozwala na nieograniczone odnawianie tokenów bliskich wygaśnięcia, co zwiększa wpływ ataku. Problem naprawiono w wersji 5.24.1.
Ocena ryzyka
Skradziony token JWT może być używany przez atakującego przez długi czas, nawet po wylogowaniu ofiary, umożliwiając nieautoryzowany dostęp do chronionych zasobów i funkcji administracyjnych.
Rekomendacja
Zaktualizuj Strapi do wersji 5.24.1 lub nowszej. Wdroż mechanizmy unieważniania tokenów po wylogowaniu lub dezaktywacji konta.
Inne podatności w Strapi
Zobacz wszystkie- CVE-2026-27886Wysokie
Strapi to otwartoźródłowy system zarządzania treścią, który w wersjach od 4.0.0 do przed 5.37.0 nie wystarczająco sanitizował parametry zapytań przy filtrowaniu treści przez pola relacyjne. Atakujący bez uwierzytelnienia mógł wykorzystać parametr zapytania `where`, aby przeprowadzić atak boolean-oracle na prywatnych polach w tabeli `admin_users`, co umożliwiało przejęcie konta administratora.
- CVE-2023-22894ŚrednieAktywnie exploitowane
Strapi do wersji 4.5.5 pozwala atakującym z dostępem do panelu administracyjnego na odkrycie wrażliwych danych użytkowników poprzez wykorzystanie filtra zapytań. Atakujący może filtrować użytkowników po kolumnach zawierających wrażliwe informacje i wywnioskować wartości z odpowiedzi API. Super admin może odkryć hashe haseł i tokeny resetowania haseł wszystkich użytkowników.
- CVE-2026-108114Średnie
Strapi w wersjach od 5.47.0 do 5.57.0 zawiera podatność na nieprawidłową autoryzację, która pozwala tokenom API administratora zachować pełny dostęp do Menedżera Treści po ograniczeniu pól roli właściciela. Ponieważ funkcja reconcileTokenPermissionsToUserCeiling ignoruje uprawnienia tokenów z pominiętymi lub pustymi polami, posiadacze tokenów mogą nadal czytać pola treści, które administrator usunął z roli.
- CVE-2026-90561Wysokie
Strapi w wersjach 4.x do 4.26.2 oraz 5.x przed 5.48.1 zawiera podatność stored cross-site scripting w komponencie podglądu WYSIWYG menedżera treści, który nie usuwa znaczników script z tekstu sformatowanego. Użytkownik z rolą Author może zapisać złośliwe znaczniki script w polach tekstu sformatowanego, które wykonują się w sesji Editora lub Super Admina po rozwinięciu panelu podglądu, umożliwiając przejęcie konta.
- CVE-2026-57997Średnie
Wtyczka users-permissions w Strapi nie ogranicza algorytmów JWT, gdy parametr plugin::users-permissions.jwt.algorithm nie jest jawnie skonfigurowany, co pozwala na akceptację tokenów HS384 i HS512 obok domyślnego HS256. Atakujący posiadający jwtSecret może tworzyć tokeny z niestandardowymi wariantami HMAC, omijając ograniczenia algorytmów i osłabiając kontrolę uwierzytelniania.
- CVE-2026-22707Średnie
W Strapi w wersjach przed 5.33.3 punkty końcowe Content API wtyczki Upload nie egzekwowały skonfigurowanych przez administratora ograniczeń typu MIME. Uwierzytelniony użytkownik z uprawnieniem do uploadu przez Content API mógł przesłać zabronione typy plików, w tym HTML i SVG, co w domyślnej konfiguracji mogło prowadzić do przejęcia sesji administratora.
- CVE-2026-22706Średnie
W Strapi przed wersją 5.33.3 zmiana lub reset hasła użytkownika domyślnie nie unieważniały istniejących sesji refresh-token, ponieważ krok unieważniania zależał od dostarczonego przez wywołującego deviceId. Atakujący posiadający wcześniej refresh token mógł nadal generować nowe tokeny dostępu po resecie hasła przez prawowitego użytkownika, utrzymując nieautoryzowany dostęp do 30 dni. Poprawka w wersji 5.33.3 unieważnia wszystkie refresh tokeny przy każdej zmianie i resecie hasła.
- CVE-2026-22599Wysokie
W Strapi (gałęzie 4.x przed 4.26.1 i 5.x przed 5.33.2) uwierzytelniony administrator mógł wstrzyknąć dowolne polecenia SQL poprzez atrybut `column.defaultTo` w API Content-Type Builder, ustawiając go jako krotkę `[wartość, { isRaw: true }]`. W zależności od silnika bazy danych umożliwiało to odczyt plików, atak DoS lub zdalne wykonanie kodu na serwerze bazy danych.
- CVE-2025-64526Średnie
W Strapi w wersjach przed 5.45.0 middleware rate-limit w pluginie users-permissions budował klucz limitu m.in. na podstawie pola `ctx.request.body.email`, nawet na trasach, których schemat żądania nie zawiera pola email (np. /auth/local, /auth/reset-password, /auth/change-password). Nieuwierzytelniony atakujący mógł podać dowolną wartość email w treści żądania, uzyskując nowy klucz limitu przy każdym żądaniu i tym samym omijając ograniczenie liczby prób na IP. Umożliwiało to masowe ataki brute-force na dane logowania, kody resetowania hasła oraz credential stuffing.
- CVE-2025-53092Średnie
Strapi w wersjach przed 5.20.0 zawiera podatność na błędną konfigurację CORS w domyślnych instalacjach. Domyślnie Strapi odzwierciedla wartość nagłówka Origin w nagłówku odpowiedzi Access-Control-Allow-Origin bez odpowiedniej walidacji lub białej listy, co pozwala witrynie kontrolowanej przez atakującego wysyłać żądania z poświadczeniami do backendu Strapi. Podatność naprawiono w wersji 5.20.0.
Oryginalny opis (angielski, źródło NVD)
Strapi uses JSON Web Tokens (JWT) for authentication. After logout or account deactivation, the JWT is not invalidated, which allows an attacker who has stolen or intercepted the token to freely reuse it until its expiration date (which is set to 30 days by default, but can be changed). The existence of /admin/renew-token endpoint allows anyone to renew near-expiration tokens indefinitely, further increasing the impact of this attack. This issue has been fixed in version 5.24.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

