CVE-2026-81892
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
W EasyAdmin (generatorze paneli administracyjnych dla Symfony) w wersjach od 4.0.0 do 4.29.16 oraz 5.5.1, istnieje podatność polegająca na tym, że kontrola dostępu oparta na ścieżce może zostać ominięta. Dzieje się tak, ponieważ zmiana kontrolera następuje po sprawdzeniu przez firewall, a parametr routeName nie jest walidowany. Użytkownik z niskimi uprawnieniami może wykonać kontroler innej trasy, jeśli zna jej nazwę, omijając zabezpieczenia oparte na ścieżce. Trasy, które same sprawdzają autoryzację (np. przez #[IsGranted]), pozostają chronione. Problem został naprawiony w wersjach 4.29.16 i 5.5.1.
Ocena ryzyka
Osoba atakująca z niskimi uprawnieniami w panelu administracyjnym może uzyskać dostęp do funkcji chronionych wyłącznie przez reguły oparte na ścieżce, co może prowadzić do nieautoryzowanych działań w aplikacji.
Rekomendacja
Zaktualizuj EasyAdmin do wersji 4.29.16 lub 5.5.1 (lub nowszej), która zawiera poprawkę tej podatności.
Inne podatności w EasyAdmin
Zobacz wszystkie- CVE-2026-50894Krytyczne
easyadmin v2.0.2.2 jest podatny na nieograniczone przesyłanie plików o niebezpiecznym typie w interfejsie zarządzania w tle, co umożliwia uwierzytelnionym zdalnym atakującym wykonanie dowolnego kodu i uzyskanie uprawnień serwera poprzez spreparowane przesyłanie plików.
- CVE-2026-54087Wysokie
W EasyAdmin od 5.0.0 do 5.0.13 pola FileField i ImageField mogą przyjmować pliki wykonywalne w przeglądarce, a szablon templates/crud/field/file.html.twig linkuje do przechowywanych plików bez atrybutu download lub nagłówka Content-Disposition attachment. Gdy pliki są przechowywane w publicznym katalogu głównym, atakujący może przesłać HTML przez FileField lub SVG przez ImageField, a JavaScript wykona się w kontekście uwierzytelnionego administratora.
Oryginalny opis (angielski, źródło NVD)
EasyAdmin is a fast and modern admin generator for Symfony applications. From 4.0.0 until 4.29.16 and 5.5.1, EasyAdmin serves all backend requests through a single dashboard route and, for custom actions (Action::linkToRoute() and MenuItem::linkToRoute()), swaps the executed controller based on the routeName query parameter on the kernel.controller event. The swap happens after Symfony's security firewall has already evaluated access_control against the original dashboard URL, and the routeName value was not validated. As a result, a path-based access_control rule protecting the target route was never evaluated, so a low-privilege backend user who can reach a single EasyAdmin URL and knows a target route's name can execute that route's controller, bypassing the path-based rule. Only path-based protections are bypassed. Routes whose controller enforces its own authorization with #[IsGranted] or denyAccessUnlessGranted() remain protected because those checks are recomputed against the swapped-in controller. This issue is fixed in versions 4.29.16 and 5.5.1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

