CVE-2026-41932
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
Vvveb przed wersją 1.0.8.3 zawiera podatność na trwałe cross-site scripting (XSS) w procesie rejestracji klienta. Kontroler Signup::addUser() kopiuje surowe wartości pola username z żądania POST do pola display_name przed sanityzacją, co pozwala atakującym na wstrzyknięcie kodu HTML i JavaScript.
Ocena ryzyka
Atakujący może przechowywać złośliwy skrypt w polu display_name, który zostanie wykonany w przeglądarkach innych użytkowników podczas wyświetlania tej nazwy bez kodowania, co może prowadzić do kradzieży sesji, przekierowań lub kradzieży danych.
Rekomendacja
Należy natychmiast zaktualizować Vvveb do wersji 1.0.8.3 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ręcznie zastosować sanityzację i kodowanie wyjściowe dla pola display_name we wszystkich widokach.
Inne podatności w Vvveb
Zobacz wszystkie- CVE-2026-41938Wysokie
Vvveb przed wersją 1.0.8.2 zawiera podatność na nieograniczone przesyłanie plików w obsłudze przesyłania mediów, która pozwala uwierzytelnionym użytkownikom z uprawnieniami do przesyłania mediów na obejście ograniczeń dotyczących rozszerzeń poprzez przesłanie pliku .htaccess. Umożliwia to atakującym przesyłanie plików .phtml zawierających dowolny kod PHP i wykonanie ładunku poprzez nieautoryzowane żądanie HTTP GET.
- CVE-2026-41936Wysokie
Vvveb przed wersją 1.0.8.2 zawiera podatność na wstrzykiwanie zewnętrznych jednostek XML (XXE) w funkcji importu narzędzi administracyjnych, co pozwala uwierzytelnionym użytkownikom site_admin na odczyt dowolnych plików oraz modyfikację rekordów w bazie danych.
- CVE-2026-41934Wysokie
Vvveb przed wersją 1.0.8.2 zawiera podatność na zdalne wykonanie kodu z uwierzytelnieniem w edytorze kodu administratora, która pozwala użytkownikom o niskich uprawnieniach na wykonanie dowolnego kodu poprzez niewystarczające ograniczenia dotyczące rozszerzeń plików.
- CVE-2026-41930Krytyczne
Vvveb przed wersją 1.0.8.2 zawiera podatność na twardo zakodowane dane uwierzytelniające w konfiguracji docker-compose-apache.yaml, co pozwala nieautoryzowanym atakującym uzyskać dostęp do kontenera phpMyAdmin z prekonfigurowanymi danymi bazy danych.
- CVE-2026-39918Krytyczne
Vvveb przed wersją 1.0.8.1 zawiera podatność na wstrzykiwanie kodu w punkcie końcowym instalacji, gdzie parametr POST subdir jest zapisywany bez oczyszczania do pliku konfiguracyjnego env.php. Atakujący mogą wstrzyknąć dowolny kod PHP, wychodząc z kontekstu ciągu znaków w instrukcji define, co umożliwia nieuwierzytelnione zdalne wykonanie kodu jako użytkownik serwera WWW.
- CVE-2026-54613Średnie
W Vvveb przed wersją 1.0.8.5 funkcja getThemeFolder() w admin/controller/editor/revisions.php zwraca kontrolowany przez atakującego parametr theme bez sanityzacji, a backupFolder() łączy go z DIR_THEMES przed operacjami editor/revisions/load lub editor/revisions/delete na nazwanym pliku .html. sanitizeBackupFileName() usuwa znaki przejścia tylko z osobnego parametru pliku i nie chroni składnika katalogu motywu. Uwierzytelniony użytkownik z domyślną rolą Editor i uprawnieniem editor/* może przesłać sekwencje przejścia, które przekierowują file_get_contents() lub unlink() do osiągalnego podkatalogu kopii zapasowej poza katalogiem głównym sieci.
- CVE-2026-54612Wysokie
W systemie CMS Vvveb od wersji 1.0.0 do 1.0.8.5 funkcja saveGlobalElements() łączy kontrolowaną przez atakującego część ścieżki z katalogiem motywu, co pozwala na path traversal. Uwierzytelniony użytkownik z domyślną rolą Editor może zapisać dowolną treść PHP poza katalogiem motywu, co umożliwia umieszczenie trwałego webshella.
- CVE-2026-54507Wysokie
W Vvveb przed wersją 1.0.8.5 handler oEmbedProxy() przyjmuje kontrolowany przez atakującego parametr url i przekazuje go do getUrl(), podczas gdy validateUrl() sprawdza tylko nazwę hosta, nie jego rozwiązane adresy. Uwierzytelniony użytkownik panelu admina może wywołać żądanie do adresów prywatnych, loopback, link-local lub zarezerwowanych.
- CVE-2026-54506Wysokie
W Vvveb przed wersją 1.0.8.5 funkcja sanitizeHTML() ma błędne wyrażenie regularne dla atrybutów zdarzeń on* oraz błędny warunek pętli, przez co zabronione zagnieżdżone znaczniki są usuwane tylko raz. Użytkownik z rolą Author lub wyższą może zapisać w polu bio złośliwy JavaScript, który wykonuje się u innych użytkowników.
- CVE-2026-49228Wysokie
Vvveb przed wersją 1.0.8.4 umożliwia sprzedawcy o niskich uprawnieniach dostęp do produktów należących do innego sprzedawcy. Kontroler produktów nie sprawdza właściciela produktu przy operacjach duplikowania i usuwania, co pozwala na odczyt, kopiowanie i usuwanie produktów oraz powiązanych danych.
Oryginalny opis (angielski, źródło NVD)
Vvveb before 1.0.8.3 contains a stored cross-site scripting vulnerability in the customer signup flow where the Signup::addUser() controller copies raw POST username values into the display_name field before sanitization occurs. Attackers can submit HTML and script markup in the username field during signup, which gets stripped from the username column but persisted verbatim in the display_name column, allowing stored XSS execution when display_name is rendered without encoding in vulnerable views.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

