CyberRota Analysis
AI-GeneratedThe vulnerability affects CodeIgniter versions prior to 4.7.3, specifically in the ext_in upload validation rule, which incorrectly validates file extensions based on MIME type rather than the client-provided filename. This flaw allows malicious files, such as PHP scripts disguised as GIF images, to bypass security checks, potentially leading to arbitrary code execution if the files are executed from a web-accessible directory. Organizations using CodeIgniter for applications that accept user uploads should prioritize upgrading to version 4.7.3 to mitigate this critical risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
CodeIgniter is a PHP full-stack web framework. Prior to 4.7.3, the ext_in upload validation rule in system/Validation/StrictRules/FileRules.php checked the MIME-derived guessed extension instead of the client-provided filename extension. As a result, an uploaded file named shell.php containing GIF-like content could pass validation such as uploaded[avatar]|is_image[avatar]|mime_in[avatar,image/gif]|ext_in[avatar,gif] because the detected MIME type maps to gif, even though the uploaded filename extension is php. Applications are impacted if they accept user-controlled uploads, rely on ext_in to validate the uploaded filename extension, save uploaded files using the original client filename with $file->move($path), store uploads in a web-accessible directory, and allow PHP or other executable files to run from that directory. In those conditions, this may lead to arbitrary code execution. This issue is fixed in version 4.7.3.