Skip to content
OpenAdvisories
Critical · 9.8 Public exploit CVE-2026-63223 EUVD-2026-51399GHSA-mmj4-63m4-r6h5

CodeIgniter: Uploaded file extension validation bypass in is_image and mime_in rules

Published Jul 31, 2026 · Updated Jul 31, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
codeigniter4 CodeIgniter4 < 4.7.4 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 26.10 php-codeigniter-framework No fix yet —
Ubuntu 26.04 LTS php-codeigniter-framework No fix yet —
Ubuntu 24.04 LTS php-codeigniter-framework No fix yet —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 3 repositories

  • imbas007/CVE-2026-63223-POC ★ 4 · Aug 3, 2026

    CVE-2026-63223 PoC — CodeIgniter 4 is_image/mime_in File Upload RCE (CVSS 9.8). Unauthenticated remote code execution via unrestricted file upload bypass using image magic bytes. Fixed in v4.7.4.

  • shinthink/CVE-2026-63223 ★ 2 · Aug 4, 2026

    CVE-2026-63223 — CI4RCE: CodeIgniter 4 is_image/mime_in File Upload RCE. Magic bytes bypass (getExtension vs getClientExtension). CVSS 9.8 | CWE-434 | CI4 < 4.7.4

  • myeongji1/cve-2026-63223-ctf ★ 0 · Oct 14, 2026

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist codeigniter4/framework < 4.7.4 4.7.4 GHSA-mmj4-63m4-r6h5

References