CVE-2026-115934
KrytyczneCVSS 9.8Streszczenie
Witryny korzystające z craft.search do wyszukiwania są podatne na nieuwierzytelnioną iniekcję SQL na froncie. Parametr attribute jest wstawiany do zapytania bez sanityzacji, a ponieważ PDO działa z emulowanymi przygotowaniami, możliwe jest wykonanie wielu instrukcji. Podatność dotyczy wyłącznie MySQL/MariaDB i pozwala na odczyt oraz zapis bazy danych, a także eskalację uprawnień do administratora.
Ocena ryzyka
Nieuwierzytelniony atakujący może odczytać i modyfikować dane aplikacji, w tym ustawić flagę administratora dla konta lub nadpisać hasła. Może to prowadzić do pełnego przejęcia systemu CMS.
Rekomendacja
Zaktualizuj do wersji 4.18.9 lub 5.11.2. Jeśli aktualizacja nie jest możliwa, zablokuj żądania frontowe zawierające %5Battribute%5D lub [attribute] w ciągu zapytania.
Inne podatności w Craft CMS
Zobacz wszystkie- CVE-2026-124431Średnie
Craft CMS od wersji 5.10.0 przed 5.11.2 zawiera podatność polegającą na obejściu autoryzacji, która pozwala uwierzytelnionym użytkownikom o niskich uprawnieniach na przeglądanie wolumenów, do których nie mają uprawnień. Atakujący mogą usunąć powiązany zasób i użyć modala przeglądarki wolumenów zastępczych, aby zobaczyć struktury katalogów wszystkich wolumenów, choć nie zawartość plików.
- CVE-2026-124430Wysokie
Craft CMS od 5.10.0 przed 5.11.2 zawiera podatność na zdalne wykonanie kodu, która pozwala użytkownikom panelu sterowania bez uprawnień administratora uzyskać szablony Twig podpisane HMAC przez punkt końcowy app/render-elements. Atakujący mogą przesłać podpisany szablon jako parametr przekierowania logowania returnUrl, wywołując niesandboxowaną ewaluację renderObjectTemplate() i wykonując polecenia systemu operacyjnego jako proces roboczy PHP.
- CVE-2026-124429Wysokie
Craft CMS od 5.0.0 przed 5.11.2 zawiera podatność na eskalację uprawnień, która pozwala nieuwierzytelnionym publicznym rejestrującym odzyskać dezaktywowane konta niebędące administratorami, zachowując ich bezpośrednie uprawnienia. Atakujący mogą zarejestrować się przy użyciu dezaktywowanego konta, ustawić nowe hasło i odziedziczyć uprawnienia przechowywane w userpermissions_users, umożliwiając przejęcie uprzywilejowanego konta, gdy weryfikacja e-mail jest wyłączona.
- CVE-2026-124426Średnie
Craft CMS od wersji 5.0.0 przed 5.11.2 zawiera podatność polegającą na obejściu autoryzacji, która pozwala nieuwierzytelnionym atakującym na odczyt treści witryn spoza zakresu Sites schematu GraphQL. Atakujący mogą wysłać żądanie POST do /actions/graphql/api, wybierając pole lokalizowane bez argumentu siteId, aby ujawnić treść witryny spoza zakresu.
- CVE-2026-84802Średnie
Craft CMS w wersjach od 5.7.0 do przed 5.10.12 zawiera podatność na ujawnienie informacji w AssetsController::actionMoveInfo, która nie egzekwuje uprawnień do woluminów. Uwierzytelnieni użytkownicy panelu sterowania mogą wysyłać żądania POST do punktu końcowego assets/move-info z dowolnymi folderIds, aby uzyskać liczbę zasobów i całkowity rozmiar przechowywania dla woluminów, do których nie mają dostępu.
- CVE-2026-84801Wysokie
Craft CMS przed wersją 5.10.11 nie weryfikuje statusu administratora w punkcie końcowym actionGetPasswordResetUrl, co pozwala użytkownikom niebędącym administratorami z uprawnieniem administrateUsers na generowanie linków resetowania hasła dla kont administratorów. Atakujący może ustawić nowe hasło dla administratora i przejąć panel kontrolny.
- CVE-2026-84800Wysokie
Craft CMS w wersjach od 5.0.0-RC1 do 5.10.11 zawiera brak autoryzacji w AssetsController::actionReplaceFile. Gdy żądanie podaje sourceAssetId i targetFilename bez assetId, uprawnienie replacePeerFiles nie jest egzekwowane, co pozwala autoryzowanemu autorowi z uprawnieniem replaceFiles na nadpisanie plików innych użytkowników w tym samym folderze.
- CVE-2026-84798Wysokie
Craft CMS w wersjach od 5.0.0-RC1 do 5.10.11 nie wykonuje niezależnej kontroli autoryzacji w ElementsController::actionDeleteForSite. Metoda sprawdza uprawnienia tylko dla własnego szkicu użytkownika, a następnie usuwa kanoniczny element bez ponownej weryfikacji, co pozwala uwierzytelnionemu użytkownikowi bez uprawnienia deleteEntriesForSite na trwałe usunięcie wpisów.
- CVE-2026-84797Średnie
Craft CMS przed wersją 5.10.11 zawiera podatność na obejście autoryzacji w ElementsController::actionDuplicate(), która pozwala uwierzytelnionym użytkownikom z uprawnieniem createEntries na usuwanie cudzych wstępnych wersji roboczych. Atakujący mogą wykorzystać parametr deleteProvisionalDraft, aby usunąć niezapisany szkic innego użytkownika bez odpowiednich kontroli autoryzacji, uzyskując dostęp do treści w trakcie tworzenia.
- CVE-2026-84796Wysokie
Craft CMS przed wersją 5.10.11 zawiera podatność obejścia zakresu witryny w resolverach mutacji GraphQL, które nie weryfikują siteId przez ArgumentManager::prepareArguments(). Atakujący z tokenami ograniczonymi do jednej witryny mogą czytać, modyfikować lub usuwać wpisy w innych witrynach.
Oryginalny opis (angielski, źródło NVD)
An unauthenticated SQL injection can occur on the front end of any site that uses craft.search to perform a search, allowing stacked query execution and enabling escalation to an administrator. Note that this only affects MySQL/MariaDB. Impact * SQL injection — The attribute parameter is concatenated into the query unsanitized, and because PDO runs with emulated prepares, stacked statements execute. This gives unauthenticated read and write access to the application database. * Privilege escalation to administrator — The write primitive was used to set the admin flag on user ID 1 in the users table, confirmed by reading the value back. Craft short-circuits its permission checks on this single column, so no further changes were needed. The same primitive can overwrite any account’s password hash. Update to the patched versions (4.18.9 and 5.11.2) to get the fix. If you cannot update immediately, you can block front-end requests with %5Battribute%5D and [attribute] anywhere in the query string as a temporary mitigation.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

