首页  工作动态  通知公告

关于PHP "php2shell" 远程代码执行漏洞的风险通告(CVE-2026-109618, CVE-2026-109619)

发布者:庄恩泽 发布时间:2026-10-22 浏览次数:12

近日接各领域安全通报,PHP被披露其存在远程代码执行漏洞,漏洞编号分别为CVE-2026-109618,CVE-2026-109619,代号“php2shell”,可导致未经身份验证的远程攻击者通过发送特制的multipart POST请求,触发内存破坏并最终实现远程代码执行,从而完全控制服务器。

为避免师生相关业务受影响,建议尽快开展安全自查,如在受影响范围,应及时进行更新修复,暂无可供更新补丁时应增加防护措施和限制服务范围,避免被外部攻击者入侵。

漏洞详情

PHP是一种开源的通用计算机脚本语言,其目标是允许网络开发人员快速编写动态页面,应用范围相当广泛,可在多数服务器和操作系统上运行。

1.PHP远程代码执行漏洞(CVE-2026-109618)

在PHP中,由于PHP在处理内存耗尽(OOM)错误时使用 longjmp()提前退出当前上下文。在某些上下文中,请求内存在完全初始化之前就处于可访问状态,若此时内存分配失败,PHP未能正确处理提前退出,导致请求内存处于无效状态。攻击者可通过构造包含大量头部、嵌套字段名或空文件控件的multipart请求,在看似不超过post_max_size限制的情况下耗尽memory_limit,触发OOM。在Apache mod_php等无条件调用请求关闭过程的SAPI中,关闭过程会处理这些无效状态,最终导致内存破坏和远程代码执行。

2.PHP远程代码执行漏洞(CVE-2026-109619)

在PHP中,由于PHP工作进程会保留指向前一个请求内存的全局状态(如错误、会话、对象和扩展状态),但在请求内存释放前未完全重置该状态,导致释放后使用。当某些输入、配置、会话或错误处理操作在下一个请求正常初始化之前运行时,它们会访问这些未被重置的陈旧状态。攻击者可通过构造特定的堆布局,利用跨请求的生命周期漏洞(例如致命错误导致状态未被重置,或后续诊断信息重新填充了已清理的错误状态),在同一个工作进程处理的两个请求中分别充当生产者和消费者,最终实现未经身份验证的堆释放后使用、内存泄露或远程代码执行。

风险等级

高风险

漏洞风险

未经身份验证的远程攻击者利用该漏洞可在服务器上以Web工作进程账户身份执行任意代码,可能导致服务器完全沦陷、敏感数据泄露或恶意软件植入等危害。

影响版本

PHP < 8.2.35

PHP < 8.3.36

PHP < 8.4.27

PHP < 8.5.12

安全版本

PHP >= 8.2.35

PHP >= 8.3.36

PHP >= 8.4.27

PHP >= 8.5.12

修复建议

官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,升级至安全版本。

建议在升级前做好数据备份工作,避免出现意外。


来源:腾讯云安全、 奇安信CERT