Executive brief
CodeIgniter, a popular web application framework, contains a vulnerability in how it handles file uploads. An attacker can exploit this to save malicious files outside of the intended upload folder, potentially allowing them to overwrite critical system files or execute unauthorized code. This could lead to a complete compromise of the web server and its data.
Technical details
A path traversal vulnerability (CWE-22) exists in CodeIgniter 4's `UploadedFile::move()` method. When this method is called without a second argument, it defaults to using the client-provided filename without proper sanitization. A remote attacker can provide a filename containing traversal sequences (e.g., `../../shell.php`) to write uploaded content to arbitrary directories reachable by the web server process. While the patch in version 4.7.4 sanitizes the default behavior, developers who explicitly pass unsanitized client-provided names as the second argument remain vulnerable. The vulnerability is reachable over the network without authentication if the application exposes file upload functionality using the affected method.
Affected products
- CodeIgniter CodeIgniter4 < 4.7.4
Timeline
- 2026-07-07: disclosed
- 2026-07-31: advisory: NVD publication date
- 2026-08-07: patched: GitHub Advisory reviewed and updated