CVE-2026-41890
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
W CI4MS od wersji 0.31.1.0 do przed 0.31.8.0 akcja deleteProcess() przyjmuje parametr POST tables[] zawierający dowolne nazwy tabel, które są przekazywane bezpośrednio do $forge->dropTable() bez weryfikacji, czy należą do usuwanego motywu. Uwierzytelniony administrator może spreparować żądanie POST z dowolnymi nazwami tabel i usunąć dowolną tabelę w bazie danych.
Ocena ryzyka
Administrator lub osoba z przejętym kontem administracyjnym może usunąć dowolne tabele w bazie danych, powodując utratę danych i niedostępność systemu. Narusza to integralność i dostępność danych.
Rekomendacja
Zaktualizuj CI4MS do wersji 0.31.8.0. Dodatkowo ogranicz uprawnienia administracyjne i regularnie wykonuj kopie zapasowe bazy 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-41891Średnie
CI4MS w wersjach od 0.26.0 do przed 0.31.8.0 posiada filtr autoryzacji z zakomentowanym sprawdzaniem dezaktywowanych/zbanowanych użytkowników. Luka została naprawiona w wersji 0.31.8.0.
- 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-39391Średnie
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.
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. From version 0.31.1.0 to before version 0.31.8.0, the deleteProcess() action accepts a POST parameter tables[] containing arbitrary table names. These are passed directly to $forge->dropTable() without validating that the tables belong to the theme being deleted. The deleteConfirm view correctly populates tables[] from the theme's own migration files, but the server-side deleteProcess does not verify the received values against those files. An authenticated admin can craft a POST request with arbitrary table names and drop any table in the database. This issue has been patched in version 0.31.8.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

