Executive brief
CodeIgniter is a popular framework used by developers to build PHP websites. A security flaw in its file upload validation system allows attackers to bypass file type restrictions by disguising malicious scripts (like PHP shells) as harmless images. If a website using this framework allows users to upload files to a public folder, an attacker could take full control of the web server and access sensitive data.
Technical details
A vulnerability exists in CodeIgniter 4's `ext_in` upload validation rule within `system/Validation/StrictRules/FileRules.php`. The rule incorrectly validates the MIME-derived guessed extension rather than the actual client-provided filename extension. An attacker can exploit this by uploading a file with a dangerous extension (e.g., .php) containing content that mimics a safe MIME type (e.g., a GIF header). If the application saves the file using its original name in a web-accessible directory, the attacker can execute arbitrary code. This issue is resolved in version 4.7.3 by ensuring the rule validates the client-provided extension.
Affected products
- CodeIgniter Foundation CodeIgniter4 < 4.7.3
Timeline
- 2026-05-20: advisory: GitHub Security Advisory published
- 2026-05-22: patched: Version 4.7.3 released
- 2026-07-17: disclosed: CVE-2026-48062 published to NVD