CVE-2026-54506
WysokieCVSS 7.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykonać JavaScript w kontekście przeglądarki ofiar (odwiedzających, administratorów), co umożliwia kradzież danych sesji, działania na koncie ofiary, defacement lub phishing. Stanowi to poważne ryzyko dla bezpieczeństwa użytkowników.
Rekomendacja
Zaktualizuj Vvveb do wersji 1.0.8.5 lub nowszej. Rozważ dodatkowe kodowanie wyjściowe dla pól bio i przegląd istniejących treści użytkowników.
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-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.
- CVE-2026-49225Wysokie
Vvveb przed wersją 1.0.8.4 umożliwia sprzedawcy o niskich uprawnieniach dostęp do rewizji produktów należących do innego sprzedawcy. Zapytania SQL nie sprawdzają właściciela produktu przy odczycie, przywracaniu i usuwaniu rewizji.
Oryginalny opis (angielski, źródło NVD)
Vvveb is a powerful and easy to use CMS with page builder to build websites, blogs or ecommerce stores. Prior to 1.0.8.5, app/controller/user/profile.php accepts the user[bio] field and passes stored content through sanitizeHTML() in system/functions.php, whose on* event-handler regular expression omits the forward-slash delimiter and whose do-while condition compares the string to itself, so forbidden nested tags are removed only once. An Author-role or higher user can submit solidus-prefixed event-handler markup or nested forbidden tags that survive sanitization. The stored bio is rendered without sufficient output encoding on /author/{username}, in the admin user-management view, and potentially in comment displays, causing attacker-controlled JavaScript to execute when unauthenticated visitors, administrators, or other users view the content. This can expose browser-session data and permit victim-context account actions, defacement, or phishing. This issue is fixed in version 1.0.8.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

