CVE-2026-27886
WysokieStreszczenie
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.
Ocena ryzyka
Ryzyko dla organizacji polega na możliwości przejęcia konta administratora bez konieczności uwierzytelnienia, co może prowadzić do nieautoryzowanego dostępu do wrażliwych danych i funkcji systemu.
Rekomendacja
Zaleca się aktualizację Strapi do wersji 5.37.0 lub nowszej, aby załatać tę podatność oraz przegląd i wzmocnienie sanitizacji parametrów zapytań w aplikacji.
Inne podatności w Strapi
Zobacz wszystkie- 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-2023-34235Wysokie
Strapi, otwartoźródłowy system zarządzania treścią, przed wersją 4.10.8, umożliwia wyciek prywatnych pól przy użyciu prefiksu `t(number)`. Zmiana prefiksu w zapytaniach Knex może prowadzić do odsłonięcia chronionych danych, takich jak hasła administratorów.
- CVE-2023-34093Średnie
Strapi, otwartoźródłowy system zarządzania treścią, przed wersją 4.10.8 pozwalał na publiczne udostępnienie atrybutów typu treści przez każdego, kto korzysta z systemu. W wyniku tej podatności, użytkownicy mogli nieświadomie usunąć mechanizm ochrony atrybutów prywatnych, co prowadziło do ujawnienia wrażliwych informacji.
- CVE-2022-32114Wysokie
Podatność w Strapi 4.1.12 w funkcji dodawania nowych zasobów pozwala na nieograniczone przesyłanie plików, co umożliwia ataki XSS poprzez spreparowany plik PDF. Projekt dokumentacji sugeruje, że użytkownik z uprawnieniami do przesyłania plików w bibliotece multimediów może przesyłać pliki PDF zawierające JavaScript, a wszystkie pliki w publicznym folderze są dostępne z zewnątrz.
Oryginalny opis (angielski, źródło NVD)
Strapi is an open source headless content management system. Strapi versions starting in 4.0.0 and prior to 5.37.0 did not sufficiently sanitize query parameters when filtering content via relational fields. An unauthenticated attacker could use the `where` query parameter on any publicly-accessible content-type with an `updatedBy` (or other admin-relation) field to perform a boolean-oracle attack against private fields on the joined `admin_users` table, including the `resetPasswordToken` field. Extracting an admin reset token via this oracle made full administrative account takeover possible without authentication. When a filter such as `where[updatedBy][resetPasswordToken][$startsWith]=a` was applied to a public Content API endpoint, the underlying query generation performed a `LEFT JOIN` against the `admin_users` table and emitted a `WHERE` clause referencing the joined column. The query parameter sanitization layer did not block operator chains that traversed into relational target
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

