CVE-2026-39391
ŚrednieCVSS 4.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
W CI4MS przed wersją 0.31.4.0 parametr notatki w funkcji blokowania użytkowników nie był oczyszczany przed zapisem do bazy danych ani przed renderowaniem w atrybucie HTML data-note. Administrator z uprawnieniami do blokowania może wstrzyknąć dowolny kod JavaScript, który wykona się w przeglądarce innego administratora przeglądającego stronę zarządzania użytkownikami.
Ocena ryzyka
Atak XSS umożliwia przejęcie sesji, kradzież danych lub wykonanie nieautoryzowanych działań w kontekście konta administratora, co może prowadzić do pełnej kompromitacji systemu CMS.
Rekomendacja
Niezwłocznie zaktualizuj CI4MS do wersji 0.31.4.0 lub nowszej, która zawiera poprawkę usuwającą podatność na XSS poprzez odpowiednie oczyszczanie i kodowanie danych.
Inne podatności w CI4MS
Zobacz wszystkie- CVE-2026-41203Krytyczne
CI4MS to szkielet CMS oparty na CodeIgniter 4, który przed wersją 0.31.5.0 miał lukę w funkcji Theme::upload. Umożliwia ona uwierzytelnionemu użytkownikowi backendowemu z uprawnieniami do tworzenia motywów przesyłanie plików ZIP bez walidacji nazw wpisów, co prowadzi do możliwości wykonania zdalnego kodu.
- CVE-2026-41202Krytyczne
W wersjach przed 0.31.5.0, funkcja Backup::restore w CI4MS nie weryfikuje nazw plików w przesyłanych archiwach ZIP, co pozwala uwierzytelnionemu użytkownikowi na zapis plików w dowolnych lokalizacjach systemu plików, co może prowadzić do zdalnego wykonania kodu.
- CVE-2026-45270Wysokie
W CI4MS (wersje przed 0.31.9.0) moduł Pages nie oczyszcza treści strony przed zapisem do bazy, a widok renderuje ją bez escapingu, co prowadzi do trwałego XSS. Atak dotyczy każdego odwiedzającego stronę, w tym administratorów.
- CVE-2026-45139Średnie
Podatność w CI4MS przed wersją 0.31.9.0. Moduł Fileeditor nie sprawdza rozszerzenia plików źródłowych w operacjach usuwania i zmiany nazwy, co pozwala użytkownikowi backendu z uprawnieniami edytora plików na usunięcie lub zmianę nazwy dowolnego pliku w katalogu głównym projektu, w tym krytycznych plików konfiguracyjnych (np. Routes.php, App.php, Database.php). Prowadzi to do trwałej odmowy usługi.
- CVE-2026-45138Średnie
CI4MS przed wersją 0.31.9.0 zawiera podatność na trwałe XSS. Niestandardowa reguła walidacji `html_purify` używa mutacji przez referencję, ale CodeIgniter 4 przekazuje lokalną kopię wartości, więc oczyszczony tekst jest odrzucany. Blog zapisuje niesanitizowaną treść, która jest wyświetlana bez kodowania, umożliwiając wykonanie skryptów w przeglądarce ofiary.
- CVE-2026-39394Wysokie
CI4MS przed wersją 0.31.4.0 zawiera podatność w kontrolerze Install::index(), który odczytuje parametr POST 'host' bez walidacji i przekazuje go do updateEnvSettings(), gdzie jest zapisywany do pliku .env przez preg_replace(). Ponieważ znaki nowej linii nie są usuwane, atakujący może wstrzyknąć dowolne dyrektywy konfiguracyjne do pliku .env. Trasy instalacyjne mają wyłączoną ochronę CSRF, a InstallFilter może zostać ominięty, gdy cache('settings') jest pusty.
- CVE-2026-39393Wysokie
CI4MS przed wersją 0.31.4.0 zawiera lukę w guardzie trasy instalacyjnej, która opiera się wyłącznie na ulotnym sprawdzeniu cache (cache('settings')) i istnieniu pliku .env. Gdy baza danych jest tymczasowo niedostępna (np. po wygaśnięciu TTL lub wyczyszczeniu cache), guard przepuszcza żądanie, umożliwiając nieuwierzytelnionemu atakującemu nadpisanie pliku .env własnymi danymi uwierzytelniającymi do bazy.
- CVE-2026-39392Średnie
W CI4MS (szkielet CMS oparty na CodeIgniter 4) przed wersją 0.31.4.0 moduł Pages nie stosuje reguły walidacji html_purify dla pól treści podczas operacji tworzenia i aktualizacji. Treść strony jest przechowywana niesanitizowana w bazie danych i renderowana jako surowy HTML na publicznym froncie. Uwierzytelniony administrator z uprawnieniami edycji stron może wstrzyknąć dowolny JavaScript, który wykona się w przeglądarce każdego odwiedzającego.
- CVE-2026-39390Średnie
CI4MS, szkielet CMS oparty na CodeIgniter 4, zawiera lukę w polu ustawień map Google Maps (cMap) w funkcji compInfosPost(). Mimo użycia strip_tags() i filtrowania zdarzeń on\w+, atrybut srcdoc w elemencie <iframe> nie jest blokowany. Osoba atakująca z dostępem do ustawień administracyjnych może wstrzyknąć złośliwy kod JavaScript w atrybucie srcdoc, który wykona się w kontekście strony nadrzędnej dla niezalogowanych odwiedzających.
- CVE-2026-39389Średnie
CI4MS, szkielet CMS oparty na CodeIgniter 4, zawiera podatność naprawioną w wersji 0.31.4.0. Szczegóły podatności nie są dostępne w opisie.
Oryginalny opis (angielski, źródło NVD)
CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to 0.31.4.0, the blacklist (ban) note parameter in UserController::ajax_blackList_post() is stored in the database without sanitization and rendered into an HTML data-note attribute without escaping. An admin with blacklist privileges can inject arbitrary JavaScript that executes in the browser of any other admin who views the user management page. This vulnerability is fixed in 0.31.4.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

