CVE-2026-57859
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 51 - wyżej niż 51% wszystkich znanych CVE
Streszczenie
e107 przed wersją 2.3.8 zawiera podatność umożliwiającą wykonanie kodu w funkcji deserializacji e_array. Atakujący z dostępem do zapisu bazy danych może przechować spreparowany ładunek w kolumnie user_prefs, który po materializacji preferencji użytkownika zostanie przekazany do funkcji eval(), co prowadzi do automatycznego wykonania dowolnego kodu PHP.
Ocena ryzyka
Ryzyko polega na możliwości zdalnego wykonania kodu przez uwierzytelnionego atakującego, co może prowadzić do pełnego przejęcia serwera i dostępu do danych.
Rekomendacja
Należy natychmiast zaktualizować e107 do wersji 2.3.8 lub nowszej, która zawiera poprawkę eliminującą podatność.
Inne podatności w e107
Zobacz wszystkie- CVE-2016-10378Wysokie
e107 w wersji 2.1.1 umożliwia atak SQL injection przez zdalnych, uwierzytelnionych administratorów za pomocą parametru pagelist w pliku e107_admin/menus.php, związane z funkcją menuSaveVisibility.
- CVE-2026-55573Krytyczne
W systemie CMS e107 przed wersją 2.3.7 plik install.php dekoduje kontrolowany przez atakującego parametr POST previous_steps i przekazuje go do unserialize() na poziomie pliku oraz ponownie w konstruktorze e_install bez ograniczenia dozwolonych klas. Instalator pozostaje dostępny po normalnej instalacji, a spreparowany graf obiektów wykorzystujący dołączoną klasę GuzzleHttp\Psr7\PumpStream może przepłynąć przez paths.hash do site_path, gdzie koercja łańcucha wywołuje kontrolowaną przez atakującego funkcję. Nieuwierzytelniony atakujący, który może uzyskać dostęp do install.php, może zatem wykonać dowolne funkcje PHP z uprawnieniami procesu serwera WWW, prowadząc do pełnego przejęcia serwera.
- CVE-2026-55572Krytyczne
W systemie CMS e107 przed wersją 2.3.7 dołączony plugin alt_auth, w backendach uwierzytelniania otherdb i e107db, wstawia przesłaną nazwę użytkownika bezpośrednio do zapytań SQL w plikach e107_plugins/alt_auth/otherdb_auth.php i e107_plugins/alt_auth/e107db_auth.php. Metody login() wykonują te ciągi za pomocą PDO::query() przed skuteczną sanityzacją, więc nieuwierzytelniony użytkownik może wstrzyknąć SQL, gdy alt_auth jest zainstalowany, a którykolwiek backend jest skonfigurowany z aktywnym połączeniem do zewnętrznej bazy danych. Wstrzyknięcie może ujawnić lub zmodyfikować dane dostępne dla skonfigurowanego konta bazy danych, a błędy zapytań mogą dodatkowo ujawnić wygenerowane zapytanie przez ścieżkę komunikatów debugowania.
- CVE-2026-72599Krytyczne
Podatność na wstrzykiwanie SQL w e107 2.4.0. Nieuwierzytelniony atakujący może wykonywać dowolne zapytania SQL poprzez parametr ID strony wiadomości. Parametr jest konkatenowany bez escapowania do klauzuli WHERE.
- CVE-2026-43936Średnie
e107 CMS przed wersją 2.3.4 umożliwia dostęp do lokalnego środowiska poprzez podanie adresu URL lokalnego środowiska w polu "Image/File URL:" opcji "From a remote location" w Menedżerze multimediów na ekranie administratora. Luka została naprawiona w wersji 2.3.4.
- CVE-2026-43935Wysokie
W e107 przed 2.3.4 występuje podatność na wstrzykiwanie nagłówka Host w stronie resetowania hasła. Atakujący może wygenerować linki resetujące prowadzące do domeny atakującego.
- CVE-2026-43934Średnie
e107 to system zarządzania treścią (CMS). Przed wersją 2.3.4 istnieje podatność Broken Access Control, pozwalająca nieautoryzowanemu uwierzytelnionemu użytkownikowi na edytowanie komentarzy napisanych przez innych. Wynika to z niewystarczającej walidacji kontroli dostępu po stronie serwera, gdzie aplikacja polega tylko na przewidywalnym identyfikatorze w żądaniu do określenia, który komentarz edytować, bez potwierdzania własności komentarza przez żądającego użytkownika.
Oryginalny opis (angielski, źródło NVD)
e107 prior to version 2.3.8 contains a code execution vulnerability in the e_array deserialization handler that allows an attacker with out-of-band database write access to execute arbitrary PHP code by storing a crafted payload in the user_prefs column. The e_array::unserialize() function in e107_handlers/core_functions.php performs only a prefix check for the string 'array' before passing the stored value to eval(), causing automatic PHP execution whenever the affected user's preferences are materialized through e_user_pref::load().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

