CVE-2026-123488
KrytyczneCVSS 9.8Streszczenie
Craft CMS w wersjach 4.0.0 do 4.18.9 oraz 5.0.0 do 5.11.2 zawiera nieuwierzytelnioną podatność SQL injection w punkcie końcowym wyszukiwania elementów, ponieważ parametr attribute jest wstawiany do zapytania bez sanityzacji, a emulowane przygotowania PDO pozwalają na łączenie instrukcji. Zdalni atakujący mogą odczytywać i zapisywać bazę danych, ustawiając flagę administratora lub nadpisując hasła w tabeli użytkowników, aby uzyskać dostęp administracyjny.
Ocena ryzyka
Podatność pozwala nieuwierzytelnionemu atakującemu na pełny dostęp do bazy danych i przejęcie konta administratora, co może prowadzić do całkowitego przejęcia serwisu CMS. Wiąże się to z ryzykiem wycieku danych, modyfikacji treści i dalszej eskalacji w środowisku.
Rekomendacja
Należy zaktualizować Craft CMS do wersji 4.18.9 lub 5.11.2 (lub nowszej) niezwłocznie. Do czasu aktualizacji zaleca się ograniczenie dostępu do punktu końcowego wyszukiwania oraz monitorowanie podejrzanych zapytań do bazy danych.
Inne podatności w Craft CMS
Zobacz wszystkie- CVE-2026-123491Wysokie
Craft CMS w wersjach 4.0.0–4.18.8 oraz 5.0.0–5.11.1 zawiera podatność na wstrzyknięcie SQL w mechanizmie GraphQL eager-loading. Argumenty węzłów eager-loadable nieobecnych w publicznym schemacie są kopiowane do kryteriów EagerLoadPlan bez oczyszczenia, co pozwala nieuwierzytelnionemu atakującemu wstrzyknąć wyrażenia SQL i odczytać dowolne dane z bazy.
- CVE-2026-123490Wysokie
Craft CMS od wersji 5.8.17 do 5.11.1 zawiera podatność na eskalację uprawnień, ponieważ metoda getOwners() stosuje kryteria wywołującego bez oczyszczenia konfiguracji zapytania. Uwierzytelniony użytkownik panelu sterowania może wywołać wybrane przez atakującego statyczne funkcje PHP poprzez spreparowane kryteria i podnieść wszystkie konta do uprawnień administratora.
- CVE-2026-123489Wysokie
Craft CMS 4.0.0–4.18.8 oraz 5.0.0–5.11.1 zawiera podatność na ślepą iniekcję SQL, ponieważ metody getNext() i getPrev() udostępnione w sandboxie przekazują dowolne tablice kryteriów do Craft::configure() bez usuwania właściwości niosących SQL, takich jak orderBy i where. Uwierzytelniony użytkownik panelu może dostarczyć spreparowaną wartość elementIds renderowaną jako szablon w sandboxie i uzyskać warunkowy oracle SQL na koncie bazy Craft.
- 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.
- CVE-2026-84793Średnie
Craft CMS w wersjach od 5.0.0-RC1 do przed 5.10.11 zawiera podatność na trwały cross-site scripting w polu nazwy witryny, które nie oczyszcza danych wejściowych. Administratorzy mogą wstrzykiwać dowolne skrypty JavaScript w nazwie witryny, które wykonują się, gdy inni użytkownicy przeglądają strony ustawień panelu sterowania.
Oryginalny opis (angielski, źródło NVD)
Craft CMS 4.0.0 before 4.18.9 and 5.0.0 before 5.11.2 contains an unauthenticated SQL injection vulnerability in the element search endpoint because the attribute parameter is concatenated into the query unsanitized and emulated PDO prepares allow stacked statements. Remote attackers can read and write the database, setting the admin flag or overwriting password hashes in the users table to gain administrator access.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

