CVE-2026-63223 (CVSS 9.8) - CodeIgniter is a PHP full-stack web framework. Prior to 4.7.4, the is_image and

CVE-2026-63223 是 CodeIgniter 4.7.4之前版本中的高危文件上传漏洞,CVSS评分9.8。攻击者可绕过 is_image 和 mime_in 的MIME检查,上传包含恶意PHP代码的文件并远程执行,导致服务器完全沦陷。本文提供根因分析、攻击场景和修复方案,建议立即升级至4.7.4并加强上传安全策略。

🔥 热门漏洞情报 · NVD-Latest · 2026-07-31

CVE-2026-63223 (CVSS 9.8) - CodeIgniter is a PHP full-stack web framework. Prior to 4.7.4, the is_image and

Critical · CVSS 9.8 文件上传验证不当 / 输入验证不当
CVE-2026-63223

📋 漏洞概述

CodeIgniter 4.7.4之前版本的文件上传验证不完整,可绕过MIME检查上传可执行文件,导致远程代码执行。

📋 基础信息

受影响版本CodeIgniter < 4.7.4
漏洞类型文件上传验证不当 / 输入验证不当
CVSS9.8 · Critical
CVECVE-2026-63223

🔬 漏洞根因

CodeIgniter 的 is_image 和 mime_in 上传验证规则仅检查文件的 MIME 类型或图像特征,未独立校验客户端提供的文件扩展名是否安全。当应用保存上传文件时直接使用客户端文件名,并将文件存放在可执行脚本的 Web 目录下,攻击者可以上传包含恶意 PHP 代码的文件并伪装成合法图片类型,绕过验证后由服务端解析执行。

🎯 攻击场景

1. 目标应用使用 is_image 或 mime_in 校验上传文件,且未使用 ext_in 等独立扩展名检查。2. 攻击者构造一个包含 PHP 恶意代码的文件,将其扩展名改为 .php 或 .php.jpg,并伪造 Content-Type 为 image/jpeg 或 image/png。3. 上传该文件,应用通过 MIME 校验并保存文件,文件名保留客户端原始文件名(如 shell.php.jpg 或 shell.php)。4. 文件被保存到 Web 可访问且允许执行 PHP 的目录(如 uploads/)。5. 攻击者直接访问该文件 URL,服务器将其中 PHP 代码作为脚本执行,从而在服务器上实现远程代码执行。

💥 漏洞影响

攻击者可在服务器上执行任意 PHP 代码,获得 Web 应用级权限,可能进一步读取敏感文件、写入 webshell、提权至系统用户,最终完全控制服务器。影响所有使用受影响版本且未独立校验扩展名、使用客户端文件名并存储到可执行目录的应用。

🛡️ 修复建议

升级到 CodeIgniter 4.7.4 或更高版本,该版本已修复此问题。临时缓解措施:1. 在应用层独立校验文件扩展名,使用 ext_in 等规则限制为白名单后缀;2. 对上传目录禁用 PHP 执行权限(如 .htaccess 或 Nginx 配置);3. 随机重命名上传文件,避免保留客户端文件名;4. 将上传文件存储到 Web 目录之外的路径,并通过脚本安全分发。

📎 参考链接

🚨 威胁评估

📈 EPSS 利用概率低 (0.5%) (高于 39.7% 的漏洞)
🚨 CISA KEV未被已知利用
🔧 公开 PoC暂无公开 PoC

⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-08-02 08:20 | 来源: NVD-Latest

🤖 常见问题解答(FAQ)

❓ 该漏洞是否仅影响使用文件上传功能的站点?

是。只有使用 is_image 或 mime_in 验证上传且未独立检查扩展名、保留客户端文件名并存入可执行目录的站点才受影响。

❓ 攻击者能否直接上传 .php 文件绕过检查?

可以。如果只通过 MIME 类型检查,攻击者可伪造 Content-Type 为 image/jpeg,使 is_image 或 mime_in 通过,从而上传 .php 或包含恶意代码的复合文件。

❓ 如何临时阻止该漏洞被利用?

升级前可对上传目录禁用脚本执行(如设置 php_flag engine off),并强制使用随机文件名,同时增加扩展名白名单校验。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)