Podatności CI4MS
11 znanych podatności CVE w CI4MS, przetłumaczonych i ocenionych.
- 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-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.
- 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.

