CVE-2026-34429
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Vvveb przed wersją 1.0.8.1 zawiera podatność na trwałe ataki XSS, umożliwiającą uwierzytelnionym użytkownikom z uprawnieniami do przesyłania i zmiany nazw plików ominięcie walidacji typu MIME poprzez dodanie nagłówka GIF89a do ładunku HTML/JavaScript, a następnie zmianę nazwy pliku na rozszerzenie .html. Pozwala to na wykonanie dowolnego kodu JavaScript w sesji przeglądarki administratora, co może prowadzić do utworzenia kont zapasowych i wgrania złośliwych wtyczek umożliwiających zdalne wykonanie kodu.
Ocena ryzyka
Ryzyko dla organizacji obejmuje przejęcie konta administratora, utworzenie nieautoryzowanych kont oraz zdalne wykonanie kodu na serwerze, co może prowadzić do całkowitej kompromitacji systemu CMS i utraty danych.
Rekomendacja
Należy natychmiast zaktualizować Vvveb do wersji 1.0.8.1 lub nowszej, a także ograniczyć uprawnienia do przesyłania i zmiany nazw plików tylko do zaufanych użytkowników oraz wdrożyć dodatkową walidację rozszerzeń plików po stronie serwera.
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 prior to 1.0.8.1 contains a stored cross-site scripting vulnerability that allows authenticated users with media upload and rename permissions to execute arbitrary JavaScript by bypassing MIME type validation and renaming uploaded files to executable extensions. Attackers can prepend a GIF89a header to HTML/JavaScript payloads to bypass upload validation, rename the file to .html extension, and execute malicious scripts in an administrator's browser session to create backdoor accounts and upload malicious plugins for remote code execution.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

