CVE-2026-72785
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
Craft CMS w wersjach od 5.0.0-RC1 do 5.10.5 zawiera podatność nieprawidłowej autoryzacji. Użytkownik panelu sterowania posiadający tylko uprawnienie viewCategories (bez saveCategories) dla grupy kategorii może trwale zmodyfikować strukturę kategorii w tej grupie — zmieniając kolejność i rodziców kategorii — za pomocą akcji structures/move-element. Flaga structureEditable jest obliczana na podstawie uprawnienia do przeglądania, a nie zapisu, a StructuresController autoryzuje mutującą akcję na podstawie sesyjnego uprawnienia do odczytu bez ponownego sprawdzenia zapisu. Ponieważ URI kategorii jest wyprowadzany z jej pozycji w strukturze, przeniesienie kategorii zmienia jej URL i URL-e jej potomków oraz może uszkodzić menu nawigacyjne zbudowane z taksonomii kategorii. Problem został naprawiony w wersji 5.10.6.
Ocena ryzyka
Ryzyko nieautoryzowanej modyfikacji struktury kategorii, co może prowadzić do uszkodzenia nawigacji, zmian w URL-ach i potencjalnego naruszenia integralności treści.
Rekomendacja
Zaktualizuj Craft CMS do wersji 5.10.6 lub nowszej, która zawiera poprawkę. Dodatkowo sprawdź uprawnienia użytkowników i ogranicz dostęp do akcji structures/move-element.
Inne podatności w Craft CMS
Zobacz wszystkie- CVE-2026-109307Średnie
Craft CMS w wersjach od 5.0.0 do 5.10.14 (przed 5.10.14) zawiera podatność na DOM-based XSS w przepływie logowania i weryfikacji 2FA w panelu administracyjnym, gdzie kontrolowany przez użytkownika returnUrl akceptujący adresy javascript: jest używany w nawigacji po stronie klienta. Atakujący może nakłonić ofiarę z włączonym 2FA do otwarcia spreparowanego adresu /admin/login?verify=1 pomiędzy podaniem hasła a weryfikacją TOTP, wykonując JavaScript w uwierzytelnionym panelu administracyjnym z uprawnieniami ofiary.
- CVE-2026-109306Średnie
Craft CMS od wersji 5.0.0 do 5.10.14 (przed 5.10.14) zawiera brak autoryzacji w metodzie AppController::actionSwitchToLicensedEdition(), co pozwala każdemu uwierzytelnionemu użytkownikowi na zmianę zainstalowanej edycji. Użytkownicy front-end z niskimi uprawnieniami mogą wywołać tę akcję, gdy licencjonowana edycja się nie zgadza, trwale obniżając edycję witryny w konfiguracji projektu, czego administratorzy nie mogą cofnąć z panelu administracyjnego.
- 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.
Oryginalny opis (angielski, źródło NVD)
Craft CMS 5.0.0-RC1 through 5.10.5 contains an incorrect authorization vulnerability. A control-panel user holding only the viewCategories permission (without saveCategories) for a category group can permanently modify that group's category structure — reordering and re-parenting categories — via the structures/move-element action. The structureEditable flag is computed from the view permission rather than the save permission, and the StructuresController authorizes the mutating action on that read-time session grant without a save re-check. Because a category's URI is derived from its position in the structure, moving a category changes its URL and those of its descendants and can corrupt navigation menus built from the category taxonomy. The issue is fixed in 5.10.6.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

