CVE-2026-63223
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 53 - wyżej niż 53% wszystkich znanych CVE
Streszczenie
CodeIgniter przed wersją 4.7.4 zawiera podatność w regułach walidacji is_image i mime_in, które nie wymuszają bezpiecznego rozszerzenia pliku. Zdalny atakujący może przesłać plik wykonywalny, jeśli aplikacja zachowuje oryginalną nazwę pliku i przechowuje go w katalogu dostępnym z sieci, gdzie PHP może być wykonywane.
Ocena ryzyka
Atakujący może przesłać skrypt PHP i uzyskać zdalne wykonanie kodu na serwerze, co może prowadzić do przejęcia kontroli nad aplikacją.
Rekomendacja
Należy zaktualizować CodeIgniter do wersji 4.7.4 lub nowszej oraz dodać niezależną walidację rozszerzeń plików (np. ext_in).
Inne podatności w CodeIgniter
Zobacz wszystkie- CVE-2017-1000247Wysokie
CodeIgniter w wersji 3.1.3, używany przez British Columbia Institute of Technology, jest podatny na wstrzyknięcie nagłówków HTTP w funkcji set_status_header() pod Apache, co prowadzi do luk związanych z wstrzyknięciem nagłówków HTTP.
- CVE-2026-63221Krytyczne
CodeIgniter od wersji 4.3.0 do 4.7.3 zawiera podatność w metodzie deleteBatch() Query Buildera, która podstawia wartości z warunków where() do wygenerowanego SQL bez uwzględniania flag ucieczki. Pozwala to na wstrzyknięcie SQL przez kontrolowane przez użytkownika wartości warunków.
- CVE-2026-48062Krytyczne
CodeIgniter przed wersją 4.7.3 zawiera podatność w regule walidacji ext_in, która sprawdza rozszerzenie na podstawie wykrytego typu MIME, a nie rzeczywistego rozszerzenia pliku. Plik o nazwie shell.php z treścią GIF może przejść walidację, co może prowadzić do wykonania dowolnego kodu.
- CVE-2014-8686Krytyczne
CodeIgniter przed wersją 2.2.0 ułatwia atakującym dekodowanie ciasteczek sesyjnych poprzez wykorzystanie alternatywnego szyfrowania opartego na XOR, gdy rozszerzenie Mcrypt dla PHP nie jest dostępne.
- CVE-2026-63222Wysokie
CodeIgniter przed wersją 4.7.4 zawiera podatność w metodzie UploadedFile::move(). Wywołanie jej bez drugiego argumentu używa nazwy pliku podanej przez klienta bez sanityzacji, co pozwala zdalnemu atakującemu na użycie sekwencji przejścia do katalogu nadrzędnego (path traversal) i zapisanie przesłanej zawartości poza zamierzonym katalogiem.
- CVE-2026-63220Średnie
W CodeIgniter przed wersją 4.7.4, metoda IncomingRequest::isSecure() ufa nagłówkom X-Forwarded-Proto i Front-End-Https, co pozwala atakującemu na podszycie się i błędne uznanie żądania HTTP za bezpieczne, co może wpłynąć na logikę wymuszającą HTTPS.
Oryginalny opis (angielski, źródło NVD)
CodeIgniter is a PHP full-stack web framework. Prior to 4.7.4, the is_image and mime_in upload validation rules do not independently enforce a safe client filename extension, allowing a remote attacker to upload executable content when an application preserves the client filename and stores uploads in a web-accessible script-enabled directory. Applications are impacted when they validate uploads using is_image or mime_in without an independent safe extension check (such as ext_in on patched versions), save uploaded files using the client-supplied filename, and place uploads in a web-accessible directory where PHP files can execute. This issue is fixed in version 4.7.4.

