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-112905Krytyczne
W Vvveb przed wersją 1.0.8.7 uwierzytelniony IDOR na endpoincie admin/auth-token pozwala dowolnemu administratorowi odczytać i nadpisać tokeny API innego administratora. Podatność została załatana w wersji 1.0.8.7.
- CVE-2026-110799Krytyczne
W Vvveb przed wersją 1.0.8.7 funkcjonalność resetowania hasła jest podatna na ominięcie uwierzytelniania z powodu niewystarczającej walidacji parametrów GET user i token. Podatność została załatana w wersji 1.0.8.7.
- 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-112904Wysokie
Vvveb w wersjach 1.0.8.6 i wcześniejszych ma funkcje nextRestore() i nextBackup() w kontrolerze kopii zapasowych, które przyjmują parametr GET file i konkatenują go bezpośrednio do DIR_BACKUP bez wywołania sanitizeFileName(). Umożliwia to uwierzytelnionemu administratorowi odczyt dowolnych plików na serwerze oraz zapis zawartości zrzutu SQL w dowolnych lokalizacjach.
- CVE-2026-55232Wysokie
Vvveb przed wersją 1.0.8.6 zawiera podatność SSRF, ponieważ walidacja adresów IP obsługuje tylko IPv4, a nie IPv6. Uwierzytelniony użytkownik panelu administracyjnego może wykorzystać proxy oEmbed do odczytu wewnętrznych usług i metadanych chmury, w tym danych uwierzytelniających IAM.
- CVE-2026-55231Wysokie
Vvveb przed wersją 1.0.8.6 ma wadliwy mechanizm czyszczenia ścieżek, który pozwala uwierzytelnionemu użytkownikowi z uprawnieniami do kopii zapasowych na odczyt i usunięcie dowolnych plików na serwerze. Można odzyskać dane uwierzytelniające bazy danych, czytać pliki systemowe i usunąć config/db.php, co umożliwia pełne przejęcie strony.
- CVE-2026-55230Wysokie
Vvveb przed wersją 1.0.8.6 ma sanitizer HTML, który nie usuwa atrybutów obsługi zdarzeń, gdy tag zawiera znak większości w wartości atrybutu w cudzysłowie. Autor treści o niskich uprawnieniach może przechowywać złośliwy kod JavaScript, który wykonuje się w przeglądarkach odwiedzających i administratorów, co może prowadzić do przejęcia konta administratora.
- 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.
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

