CVE-2023-3824技术问询:HTTP请求触发RCE漏洞的原理及代码前提
CVE-2023-3824 相关问题解答
漏洞基本概况
- CVSS评分9.8,属于高危远程代码执行(RCE)漏洞,无需用户交互即可触发
- 影响版本:PHP 8.0.* 低于8.0.30、8.1.* 低于8.1.22、8.2.* 低于8.2.8
- 触发原因:加载phar文件并读取其目录条目时,因长度检查不充分导致栈缓冲区溢出,进而引发内存损坏或远程代码执行
HTTP请求触发条件与所需代码逻辑
这个漏洞必须依赖服务器端特定的PHP代码逻辑才能触发,并非任意HTTP请求就能触发,具体流程和要求如下:
- 恶意phar文件构造:攻击者需要制作包含恶意目录条目的phar文件,利用长度检查不足的漏洞点,让解析时触发栈溢出。
- 文件传递到服务器:通过HTTP请求将恶意phar文件上传到服务器,或者让服务器加载攻击者可控路径下的该文件(比如通过文件包含、可控文件路径等方式)。
- 触发phar解析的代码:服务器端的PHP代码必须调用会自动解析phar文件的函数,比如
file_exists()、is_dir()、stat()这类文件系统操作函数——PHP的phar流包装器会在这些函数处理phar格式路径时,自动解析文件内容并读取目录条目,此时漏洞被触发。
简单来说:如果服务器代码没有处理phar文件、也没有调用上述触发解析的函数,单纯的HTTP请求根本碰不到这个漏洞。
漏洞与勒索软件团伙覆灭的关联
这个漏洞之所以受到关注,是因为安全研究人员发现全球某大型勒索软件团伙的C2服务器使用了未修补的受影响PHP版本。研究人员通过构造恶意请求触发该漏洞,成功获取了服务器的控制权,进而拿到了团伙的核心运营数据、成员信息等关键证据,最终协助执法部门彻底捣毁了这个团伙。本质上是团伙自身系统存在未及时修补的高危漏洞,被外部利用后导致崩盘。
参考信息说明
- GitHub安全公告:详细披露了漏洞的技术细节、影响版本及修复方案,明确了栈缓冲区溢出的触发场景。
- NVD详情记录:标准化收录了该漏洞的CVSS评分、影响范围、官方修复建议等信息。
内容的提问来源于stack exchange,提问作者Vignesh SB
相关产品推荐
相关产品推荐

