CVE-2026-32639
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Winter CMS do wersji 1.2.12 włącznie nie egzekwował sprawdzeń uprawnień per typ szablonu w edytorze motywów, co pozwalało użytkownikowi backendu z jednym dowolnym uprawnieniem CMS na manipulowanie innymi typami szablonów. Ponadto widget AssetList umożliwiał nieautoryzowane przesyłanie plików do katalogu aktywnego motywu.
Ocena ryzyka
Uwierzytelniony użytkownik backendu z minimalnymi uprawnieniami może modyfikować lub usuwać szablony, do których nie ma uprawnień, oraz przesyłać złośliwe pliki, co może prowadzić do przejęcia kontroli nad stroną.
Rekomendacja
Zaktualizuj Winter CMS do wersji 1.2.13 lub nowszej, która zawiera poprawki. Ogranicz dostęp do backendu tylko dla zaufanych użytkowników.
Inne podatności w Winter CMS
Zobacz wszystkie- CVE-2026-63179Średnie
Winter CMS do wersji 1.2.12 zawiera podatność, która pozwala uwierzytelnionym użytkownikom backendu na ujawnienie dowolnych plików czytelnych przez proces PHP poprzez wstrzyknięcie dyrektyw @import do kodu LESS. Podatność wynika z braku bezpiecznego resolwera importów w parserze LESS. Poprawka jest w wersji 1.2.13.
- CVE-2026-54256Średnie
Winter CMS do wersji 1.2.12 zawiera podatność w widżecie FileUpload formularza backendu, który ufa kontrolowanemu przez atakującego parametrowi file_id podczas rozwiązywania załącznika. Pozwala to uwierzytelnionemu użytkownikowi backendu na odczyt i modyfikację załączników należących do innych użytkowników lub rekordów. Poprawka jest w wersji 1.2.13.
- CVE-2026-32593Średnie
Winter CMS do wersji 1.2.12 włącznie zawiera podatność na wstrzykiwanie SQL w widgecie filtru backendu przez typ zakresu numberrange z kluczem conditions, co pozwala uwierzytelnionemu użytkownikowi backendu na wstrzyknięcie dowolnego SQL. Eksploatacja wymaga, aby wtyczka innej firmy zarejestrowała taki filtr.
- CVE-2026-35445Wysokie
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.
- CVE-2026-32258Wysokie
Winter to darmowy system zarządzania treścią (CMS) oparty na frameworku Laravel PHP. Od wersji 1.2.10 do 1.2.12, uwierzytelnieni użytkownicy backendu z uprawnieniem backend.manage_editor mogą przechowywać niestandardowe style Markup, które są kompilowane przez parser LESS i renderowane bez sanityzacji na każdej stronie backendu, co pozwala na przechowywany cross-site scripting. Ten problem został naprawiony w wersji 1.2.13.
- CVE-2026-32257Wysokie
Winter to darmowy system zarządzania treścią (CMS) oparty na frameworku Laravel PHP. Przed wersją 1.2.13, niestandardowe CSS dostarczane przez pole Brand Settings Styles przez użytkownika backendu z uprawnieniem backend.manage_branding jest kompilowane przez parser LESS i renderowane bez sanityzacji na każdej stronie backendu, co pozwala na przechowywany cross-site scripting przeciwko użytkownikom backendu. Ten problem został naprawiony w wersji 1.2.13.
- CVE-2026-79774Wysokie
Winter CMS w wersjach przed 1.2.13 zawiera niekompletną poprawkę dla podatności ucieczki z sandboxa Twig w System\Twig\SecurityPolicy, która pozwala uwierzytelnionym użytkownikom backendu z uprawnieniami do edycji szablonów na ominięcie ograniczeń sandboxa. Atakujący mogą wykorzystać przekazywanie metod przez modele Eloquent i konstruktory zapytań, używając metod takich jak saveQuietly(), deleteQuietly(), increment(), decrement() i newQuery(), aby odczytywać i modyfikować dowolne rekordy bazy danych, wykonywać dowolne SQL i osiągnąć zdalne wykonanie kodu poprzez wstrzyknięcie PHP do sekcji kodu szablonu.
- CVE-2026-79773Średnie
Winter CMS przed wersją 1.2.13 zawiera podatność na lokalne dołączanie plików w filtrze JavascriptImporter, która pozwala uwierzytelnionym użytkownikom z uprawnieniem cms.manage_assets na ujawnienie dowolnych plików czytelnych dla serwera poprzez umieszczenie dyrektyw =include lub =require w motywowych zasobach JavaScript. Atakujący mogą odwoływać się do plików takich jak .env poza katalogiem motywu, a połączone dane wyjściowe serwowane przez trasę combine stają się czytelne dla nieuwierzytelnionych odwiedzających, ujawniając klucze aplikacji i poświadczenia bazy danych.
- CVE-2023-37269Niskie
W systemie zarządzania treścią Winter, przed wersją 1.2.3, użytkownicy z uprawnieniami `backend.manage_branding` mogli przesyłać pliki SVG jako logo aplikacji bez ich sanitizacji, co mogło prowadzić do ataków XSS. Wersja 1.2.3 wprowadza poprawki, które zapewniają pełne wsparcie dla przesyłania SVG oraz automatyczną sanitizację tych plików.
Oryginalny opis (angielski, źródło NVD)
Winter CMS is a content management system built on the Laravel PHP framework. In versions up to and including 1.2.12, the CMS section's Theme Editor AJAX handlers did not enforce per-template-type permission checks, allowing a backend user with any single CMS permission to act on template types outside their authorized scope. The CMS controller gated access to the section as a whole using OR-logic across its five permissions, but individual handlers such as onSave(), onDelete(), and onDeleteTemplates() did not verify that the user held the specific permission for the requested template type, so a user with only cms.manage_pages could craft AJAX requests to delete layouts, modify partials, or read content files. Separately, the AssetList widget was registered for any user who passed the controller gate regardless of the cms.manage_assets permission, and its onUpload() handler omitted the theme-validation call present on the other mutating handlers, permitting unauthorized file uploads into the active theme's asset directory. Exploitation requires an authenticated backend account holding at least one of the CMS Theme Editor permissions. This issue is fixed in version 1.2.13.

