Katalog CVE

CVE-2026-35445

WysokieCVSS 7.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.25%

Percentyl 16 - wyżej niż 16% wszystkich znanych CVE

Streszczenie

Winter CMS to system zarządzania treścią zbudowany na frameworku Laravel PHP. W wersjach przed 1.2.13 backend nie walidował nazwy handlera przesłanej przez pole _handler w formularzu postback, co pozwalało uwierzytelnionemu użytkownikowi backendu na wywoływanie dowolnych metod kontrolera, w tym chronionych, prywatnych i z prefiksem akcji. Chociaż żądania AJAX walidują, że nazwy handlerów pasują do wzorca on[A-Z][\w+]* , ścieżka postback przekazywała przesłaną wartość _handler bezpośrednio do dyspozytora handlerów bez takiego sprawdzenia, więc każdy kontroler, który udostępnia publiczną akcję lub warunkowo zwalnia sprawdzenie $requiredPermissions, mógł być osiągnięty, omijając system ról i uprawnień. Wbudowany kontroler Users był dotknięty, ponieważ ustawiał $requiredPermissions na null dla akcji myaccount, pozwalając każdemu uwierzytelnionemu użytkownikowi backendu na wywoływanie metod zarządzania użytkownikami, takich jak update_onDelete i update_onManualPasswordReset, bez posiadania uprawnienia backend.manage_users. Ten problem został naprawiony w wersji 1.2.13.

Ocena ryzyka

Ryzyko ominięcia kontroli dostępu i eskalacji uprawnień w backendzie, co może prowadzić do nieautoryzowanego zarządzania użytkownikami i naruszenia integralności systemu.

Rekomendacja

Zaktualizuj Winter CMS do wersji 1.2.13 lub nowszej, która zawiera poprawkę walidacji nazwy handlera w ścieżce postback.

Inne podatności w Winter CMS

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Winter CMS is a content management system built on the Laravel PHP framework. In versions prior to 1.2.13, the backend did not validate the handler name submitted through the form postback _handler POST field, allowing an authenticated backend user to invoke arbitrary controller methods, including protected, private, and action-prefixed ones. While AJAX requests validate that handler names match the on[A-Z][\w+]* pattern, the postback path passed the submitted _handler value straight to the handler dispatcher with no such check, so any controller that exposes a public action or conditionally relaxes its $requiredPermissions check could be reached, bypassing the roles and permissions system. The built-in Users controller was affected because it set $requiredPermissions to null for the myaccount action, letting any authenticated backend user invoke user-management methods such as update_onDelete and update_onManualPasswordReset without holding the backend.manage_users permission. This issue is fixed in version 1.2.13.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS