External risk intelligence

CodeIgniter Upload Validation Vulnerability Allows Remote Code Execution

CVE advisorySeverity: CRITICAL (CVSS 9.8)

CVE-2026-63223

The vulnerability exists in CodeIgniter, a web framework commonly used to build internet-facing web applications. Because these applications frequently include file upload features that are accessible to the public internet, there is a high likelihood that the vulnerable code path is exposed in standard deployments.

Unrestricted File Upload

Halo Surface Signal: 4 out of 5 — likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A critical vulnerability has been identified in the CodeIgniter PHP web framework that could allow remote attackers to upload and execute malicious code. This occurs when specific file upload validation rules are used without a proper safeguard for client-provided filenames, and the application stores these uploads in a web-accessible, script-executable directory. While this is a serious technical issue, the primary leadership concern is to confirm if any internally developed or managed applications utilize this framework in a way that exposes them to this risk.

  • Uploaded files could be executed remotely.
  • Confirms potential exposure in web applications.
  • Assess relevant applications for this framework.

Attack Path

How an attacker could exploit the issue

A remote attacker could upload executable code to a web server by exploiting a flaw in file upload validation rules. This occurs when an application uses specific validation methods, preserves the original filename, and stores uploaded files in a location where scripts can run. Successful exploitation allows an attacker to execute arbitrary code on the server.

  • Attacker needs network access.
  • Uploading a file triggers the vulnerability.
  • Risk of arbitrary code execution.

Live Threat

Current exploitation, exposure, and threat context

When supported by the advisory, a remote attacker could upload executable content by leveraging the `is_image` or `mime_in` validation rules without an independent safe extension check. This risk exists when applications preserve the client-supplied filename and store uploads in a web-accessible, script-enabled directory.

  • Executable files could be uploaded.
  • Malicious uploads may bypass validation.
  • Application code execution is possible.

Operational Fix

Recommended remediation, mitigation, and detection steps

Application and platform teams are responsible for addressing this vulnerability in CodeIgniter. The first step is to inventory all instances of the affected framework, confirm if upload functionality is exposed externally and whether it processes user-supplied filenames, and then identify the specific application owner to prioritize remediation.

  • Confirm application owners and exposure.
  • Verify impact and business criticality.
  • Plan vendor coordination for fixes.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is CodeIgniter?

CodeIgniter is a full-stack PHP framework designed to help developers build dynamic, database-driven web applications more quickly. It provides a structured environment with built-in tools for handling tasks like routing, database management, and file uploads. Because it simplifies complex web development, it is widely used to create public-facing sites that frequently include interactive features like user profile image uploads or document submission portals.

What does CWE-434 mean for CVE-2026-63223?

This vulnerability is classified as CWE-434, or Unrestricted Upload of File with Dangerous Type. In simple terms, the framework's validation rules do not sufficiently verify the actual file extension against the content type. Because the system trusts the filename provided by the user, an attacker can disguise a malicious script as a harmless file, tricking the server into accepting and storing it in a folder where it can later be executed as code.

How can an attacker trigger this bug?

An attacker triggers this by uploading a specially crafted file to an application that relies solely on 'is_image' or 'mime_in' validation. The bug is not triggered if the application independently verifies the file extension—such as using 'ext_in'—or if uploaded files are stored in a non-executable directory outside the web root. The vulnerability requires the application to both trust the user's filename and save the file in a location where the web server has permission to run scripts.

Who should care about this vulnerability?

Organizations running applications built on CodeIgniter versions prior to 4.7.4 should prioritize this. According to Halo Surface Signal, because this framework is commonly used for internet-facing web applications that allow file uploads, there is a high likelihood that vulnerable configurations exist in public deployments. If your application handles user-submitted files and is reachable from the internet, it is a primary candidate for a security review.

How do I respond to CVE-2026-63223?

The most effective response is to update your CodeIgniter framework to version 4.7.4 or later. In the meantime, audit your applications to identify which ones use file upload features. Specifically, check if these uploads are stored in web-accessible directories and if the validation logic relies exclusively on 'is_image' or 'mime_in' without additional file extension filtering. Contact application owners to prioritize applying the vendor's patch.

References