CVE-2026-92593
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
Craft CMS w wersjach 5.10.0–5.10.12 zawiera niekompletną poprawkę CVE-2026-55794 — sink Controller::getPostedRedirectUrl() -> View::renderObjectTemplate() pozostał bez sandboxa, a ten sam commit dodał oracle do samodzielnego podpisywania w Cp::elementLabelHtml(). Ponieważ tokeny HMAC Craft/Yii nie są powiązane z nazwą parametru, uwierzytelniony użytkownik panelu o niskich uprawnieniach z prawem edycji jednego typu elementu może wygenerować token dla kontrolowanego przez atakującego szablonu Twig dla parametru returnUrl i odtworzyć go jako parametr POST przekierowania, osiągając niesandboxowany sink i wstrzyknięcie szablonu po stronie serwera, co prowadzi do wykonania dowolnego kodu PHP. Problem naprawiono w wersji 5.10.13.
Ocena ryzyka
Uwierzytelniony użytkownik o niskich uprawnieniach może przejąć pełną kontrolę nad serwerem poprzez wykonanie dowolnego kodu PHP, co oznacza całkowitą kompromitację hosta i danych aplikacji.
Rekomendacja
Zaktualizuj Craft CMS do wersji 5.10.13 lub nowszej. Ogranicz prawa edycji typów elementów do zaufanych użytkowników i monitoruj nietypowe żądania z parametrem returnUrl.
Inne podatności w Craft CMS
Zobacz wszystkie- 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.
- CVE-2026-84792Średnie
Craft CMS przed wersją 5.10.11 zawiera podatność na złamaną kontrolę dostępu w punkcie końcowym element-indexes/save-elements, która pozwala użytkownikom panelu sterowania przenosić wpisy do sekcji, których nie mogą edytować. Atakujący z ograniczonymi uprawnieniami do sekcji mogą przenosić lub publikować wpisy w nieautoryzowanych sekcjach, nadpisując atrybut sectionId po wstępnych kontrolach autoryzacji, omijając walidację uprawnień sekcji docelowej.
- CVE-2026-31266Wysokie
Craft CMS w wersji 5.9.5 i wcześniejszych zawiera lukę w autoryzacji w punkcie końcowym migracji (/actions/app/migrate).
- CVE-2026-112776Krytyczne
Craft CMS od wersji 5.0.0 przed 5.11.0 zawiera podatność obejścia autoryzacji, która pozwala tokenom GraphQL ograniczonym do jednej witryny modyfikować treść innych witryn, ponieważ requireAllowedSite() nie jest egzekwowane. Atakujący posiadający token witryny A może tworzyć wpisy w witrynie B poprzez podanie siteId oraz usuwać wpisy, kategorie, tagi i zasoby współdzielone między witrynami.
Oryginalny opis (angielski, źródło NVD)
Craft CMS versions 5.10.0 through 5.10.12 contain an incomplete fix for CVE-2026-55794: the Controller::getPostedRedirectUrl() -> View::renderObjectTemplate() sink remained unsandboxed, and the same fix commit added a self-signing oracle in Cp::elementLabelHtml(). Because Craft/Yii HMAC tokens are not bound to a parameter name, an authenticated low-privilege control panel user with edit rights on a single element type can mint a token over attacker-controlled Twig for the returnUrl parameter and replay it as the redirect POST parameter, reaching the unsandboxed sink and achieving server-side template injection that executes arbitrary PHP code (full server compromise). The issue is fixed in 5.10.13.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

