CVE-2026-54507
WysokieCVSS 8.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 25 - wyżej niż 25% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może ujawnić odpowiedzi wewnętrznych usług lub metadane instancji chmurowej wraz z powiązanymi poświadczeniami. Może to prowadzić do eskalacji uprawnień i dalszego naruszenia infrastruktury.
Rekomendacja
Zaktualizuj Vvveb do wersji 1.0.8.5 lub nowszej. Ogranicz uprawnienia edytorów i rozważ blokowanie żądań wychodzących do adresów wewnętrznych na poziomie sieci.
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-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.
- 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, the oEmbedProxy() handler in admin/controller/editor/editor.php accepts an attacker-controlled url parameter and passes it to getUrl(), while validateUrl() in system/functions.php checks only the hostname string and does not validate its resolved addresses. An authenticated admin-panel user with editor/* permission can invoke GET /admin/index.php?module=editor/editor&action=oEmbedProxy with a dotted hostname or normalized loopback form that resolves to a private, loopback, link-local, or reserved address, causing the server to issue an HTTP or HTTPS request and return the response body. Storefront users and anonymous visitors cannot invoke the endpoint, but no CSRF token is required because the action uses GET. This can disclose internal service responses or cloud instance metadata and associated credentials. This issue is fixed in version 1.0.8.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

