CVE-2026-39918
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 52 - wyżej niż 52% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko dla organizacji obejmuje całkowite przejęcie serwera WWW przez nieuwierzytelnionego atakującego, co może prowadzić do kradzieży danych, modyfikacji treści lub dalszego ataku na infrastrukturę.
Rekomendacja
Niezwłocznie zaktualizuj Vvveb do wersji 1.0.8.1 lub nowszej. Jeśli aktualizacja nie jest możliwa, tymczasowo wyłącz punkt końcowy instalacji lub zastosuj reguły WAF blokujące podejrzane parametry POST.
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-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.
- 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.
Oryginalny opis (angielski, źródło NVD)
Vvveb prior to 1.0.8.1 contains a code injection vulnerability in the installation endpoint where the subdir POST parameter is written unsanitized into the env.php configuration file without escaping or validation. Attackers can inject arbitrary PHP code by breaking out of the string context in the define statement to achieve unauthenticated remote code execution as the web server user.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

