CVE-2026-54612
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać zdalne wykonanie kodu w kontekście serwera WWW, co prowadzi do naruszenia poufności, integralności i dostępności aplikacji. Możliwe jest trwałe przejęcie kontroli nad systemem.
Rekomendacja
Zaktualizuj Vvveb do wersji 1.0.8.5 lub nowszej. Ogranicz uprawnienia edytorów i zweryfikuj, czy w katalogach aplikacji nie ma nieautoryzowanych plików PHP.
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-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-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. From 1.0.0 until 1.0.8.5, saveGlobalElements() in admin/controller/editor/global-trait.php concatenates the attacker-controlled file portion of data-v-save-global to the active theme directory before loadHTMLFile() and file_put_contents() operate on it. An authenticated user with the default Editor role and editor/* permission can submit crafted HTML to module=editor/editor&action=save and traverse to an existing writable PHP file outside the theme directory. If the target is web-accessible, editor-controlled PHP content executes in the web server context; a shipped public/vadmin/index.php entrypoint can be used as an execution trampoline rather than requiring a test-only file. This can permit persistent webshell placement and compromise application confidentiality, integrity, and availability. This issue is fixed in version 1.0.8.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

