„`html
CVE-2026-63222: CodeIgniter UploadedFile Path Traversal
Zusammenfassung
Eine kritische Schwachstelle in CodeIgniter ermöglicht es Angreifern, hochgeladene Dateien außerhalb des vorgesehenen Upload-Verzeichnisses zu speichern. Die Vulnerability existiert in Versionen vor 4.7.4 und wird durch unzureichende Sanitierung von benutzergesteuerten Dateinamen in der Methode UploadedFile::move() verursacht.
Betroffene Systeme
Framework: CodeIgniter
Betroffene Versionen: Alle Versionen vor 4.7.4
Angriffsvektor: Netzwerk (Remote)
Authentifizierung erforderlich: Nein
Die Schwachstelle betrifft alle Anwendungen, die CodeIgniter verwenden und Datei-Upload-Funktionalität ohne explizite Dateinamen-Behandlung implementieren.
Technische Details
Die Methode UploadedFile::move() akzeptiert optional einen zweiten Parameter für den Zieldateinamen. Wird dieser Parameter nicht angegeben, nutzt die Methode den vom Client übertragenen Dateinamen direkt, ohne diesen zu validieren oder zu bereinigen.
Angreifer können Path-Traversal-Sequenzen wie ../ oder absolute Pfade in den Dateinamen einbetten. Dies ermöglicht das Schreiben von Dateien in beliebige Verzeichnisse auf dem Server, sofern die Anwendung ein Upload-Verzeichnis exponiert.
Beispiel: Ein Upload mit Dateiname „../../etc/passwd“ könnte zu Dateischreibzugriffen außerhalb des Upload-Verzeichnisses führen.
Empfohlene Massnahmen
- Sofortmaßnahme: Upgrade auf CodeIgniter 4.7.4 oder höher durchführen
- Workaround: Explizit einen sicheren, sanitierten Dateinamen als zweiten Parameter an move() übergeben
- Validierung: Alle benutzergesteuerten Dateinamen mit Whitelist-Regex validieren
- Zugriffskontrolle: Upload-Verzeichnisse nicht über HTTP exponieren
- Monitoring: Verdächtige Upload-Muster in Logs überwachen
Bewertung
CVSS Score: 7.5 (High)
Kritikalität: Hoch
Die Schwachstelle ermöglicht Remote Code Execution durch Schreiben von PHP-Dateien, Denial-of-Service oder Manipulation von Systemdateien. Die Verfügbarkeit eines Fixes macht ein zeitnahes Patching essentiell.
„`