{"id":"CVE-2026-63223","summary":"CodeIgniter: Uploaded file extension validation bypass in is_image and mime_in rules","details":"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.","aliases":["GHSA-mmj4-63m4-r6h5"],"modified":"2026-08-07T11:51:36.359024406Z","published":"2026-07-31T04:10:28.179Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63223.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-434"]},"references":[{"type":"WEB","url":"https://github.com/codeigniter4/CodeIgniter4/releases/tag/v4.7.4"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63223.json"},{"type":"ADVISORY","url":"https://github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-mmj4-63m4-r6h5"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-63223"},{"type":"FIX","url":"https://github.com/codeigniter4/CodeIgniter4/commit/b6e9a4fa1dca2df3d3f261bdf61532df8c6420aa"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/codeigniter4/codeigniter4","events":[{"introduced":"0"},{"fixed":"b6e9a4fa1dca2df3d3f261bdf61532df8c6420aa"},{"fixed":"2bd0f01d2813f9ec06db42643ce39d9f5428bf6d"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"4.7.4"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v4.7.3","v4.7.2","v4.7.1","v4.7.0","v4.6.5","v4.6.4","v4.6.3","v4.6.2","v4.6.1","v4.6.0","v4.5.8","v4.5.7","v4.5.6","v4.5.5","v4.5.4","v4.5.3","v4.5.2","v4.5.1","v4.5.0","v4.4.8","v4.4.7","v4.4.6","v4.4.5","v4.4.4","v4.4.3","v4.4.2","v4.4.1","v4.4.0","v4.3.8","v4.3.7","v4.3.6","v4.3.5","v4.3.4","v4.3.3","v4.3.2","v4.3.1","v4.3.0","v4.2.12","v4.2.11","v4.2.10","v4.2.9","v4.2.7","v4.2.6","v4.2.5","v4.2.4","v4.2.3","v4.2.2","v4.2.1","v4.2.0","v4.1.9","v4.1.8","v4.1.7","v4.1.6","v4.1.5","v4.1.4","v4.1.3","v4.1.2","v4.1.1","v4.1.0","v4.0.5","v4.0.3","4.0.0","v4.0.1","v4.0.0-rc.4","v4.0.0-rc.3","v4.0.0-rc.2","v4.0.0-rc.2b","v4.0.0-rc.1","v4.0.0-beta.4","v4.0.0-beta.3","v4.0.0-beta.1","v4.0.0.0-alpha.5","v4.0.0-alpha.5","v4.0.0-alpha.4","v4.0.0-alpha.3","v4.0.0-alpha.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-63223.json"}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}