CVE-2026-63222: CodeIgniter · Path traversal in UploadedFile::move() when using client-provided filenames
Affects codeigniter4/frameworkSource GCVE Database
Not known to be exploited · CVSS 7.5 High : upgrade to 4.7.4 soon.
Data as of 7 Nov 2026, 23:24 UTC
- EPSS
- 0.6% chance of exploitation in 30 days – higher than 50% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 4.7.4
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 7 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 8 Nov 2026.
What to do
Upgrade codeigniter4/framework to 4.7.4.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Packagistcodeigniter4/framework | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade CodeIgniter 4 to version 4.7.4 or later, which includes a patch that sanitizes the default filename used by UploadedFile::move() when no second argument is provided. If immediate upgrade is not possible, use generated filenames (e.g., getRandomName()) or sanitize client-provided filenames before passing them as the second argument to move(). Note that the patch does not sanitize filenames explicitly passed by the caller, so application-level sanitization remains necessary in those cases.
Description
CodeIgniter 4 versions prior to 4.7.4 have a path traversal vulnerability in the UploadedFile::move() method when called without a second argument. The method uses the client-provided filename without sanitization, allowing attackers to write files outside the intended directory by supplying filenames with path traversal sequences. The vulnerability is fixed in version 4.7.4, which sanitizes the default filename. Applications explicitly passing client filenames as the second argument remain responsible for sanitization.
References
- github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-hhmc-q9hp-r662 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-63222 (opens in a new tab)
- github.com/codeigniter4/CodeIgniter4/commit/20ebcf4694d96d3c97fbc3938e360730e4f54618 (opens in a new tab)
- github.com/codeigniter4/CodeIgniter4 (opens in a new tab)
- github.com/codeigniter4/CodeIgniter4/releases/tag/v4.7.4 (opens in a new tab)