Not a U.S. government website. NDD is an independent vulnerability database by Volerion and is not affiliated with or endorsed by NIST or NVD.
VOLERION
Volerion Security Research

NOT DEFERRED DATABASE

VULNERABILITIES

CVE-2026-63223 Details

ANALYZED


This CVE record has been analyzed and enriched by NVDAPI.com as an independent party.

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.

Metrics

References to Advisories, Solutions, and Tools

By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.

Weakness Enumeration

CWE-IDCWE NameSource
CWE-434Unrestricted Upload of File with Dangerous Type[email protected]

Affected Products

ProductVersions
CodeIgniter
< 4.7.4 (semver)

CPE

  • cpe:2.3:a:codeigniter:codeigniter:*:*:*:*:*:*:*:*

Remediation

  • Upgrade: 4.7.4moderate efforthttps://github.com/codeigniter4/CodeIgniter4/releases/tag/v4.7.4
  • Workaround:low effort

    Save uploads outside the public web root, preferably under `writable/uploads`.

  • Workaround:low effort

    Use `$file->store()` or `$file->move($path, $file->getRandomName())` instead of preserving the original client filename.

  • Workaround:low effort

    Disable script execution in any public upload directory.

  • Workaround:low effort

    Manually verify the client filename extension before moving the file.

  • Workaround:low effort

    For image uploads, reject files when `$file->getClientExtension()` is not an allowed image extension.

  • Workaround:low effort

    For exact MIME-type validation, reject files when `$file->getClientExtension()` does not match `$file->guessExtension()`.

Change History

2 change records found show changes


QUICK INFO

CVE Dictionary Entry:
CVE-2026-63223
NVD Published Date:
Jul 31, 2026
NVD Last Modified:
Sep 8, 2026
Source:
[email protected]
CVE-2026-63223 Details - Not Deferred