#PHP安全漏洞#
这次漏洞蛮严重,写个类比解释:
PHP2Shell:网站为什么可能执行攻击者的指令?
1、PHP2Shell 是什么?
PHP2Shell 是 PHP 中两个严重漏洞的合称,编号为 CVE-2026-109618 和 CVE-2026-109619。PHP 是许多网站使用的编程语言,负责处理表单、文件上传等任务。攻击者可能利用这些漏洞,让服务器执行自己指定的代码,部分攻击路径无需登录。
可以把网站想成一家接收外部材料的公司。员工可以阅读客户来信,但只能按照公司的内部工作单办事。这两个漏洞可能让 PHP 把攻击者能够影响的内容当成可信的内部信息使用,就像员工把外部材料误认成内部工作单,并据此采取行动。
2、攻击怎样发生?
攻击者向网站发送专门设计的请求,例如使用上传文件时常见的格式。里面的数据经过安排,目的是让 PHP 在处理过程中发生异常,例如达到单个请求的内存使用上限。
正常情况下,PHP 应停止处理,并妥善清理数据。但这两个漏洞涉及的异常处理存在缺陷:一种是内部记录还没准备好,清理程序就拿来使用;另一种是原来的数据已经释放,程序却仍使用指向它的旧记录。
前一种像工作单只填了一半,收尾人员就照着办事;后一种像工作单已经撤销,员工却继续相信旧登记,拿错了文件。
PHP 的内部信息会影响程序如何读取数据,以及接下来执行什么操作。如果攻击者构造的内容被误当成这类信息,就可能改变程序行为,最终实现“远程代码执行”。攻击者随后可能以网站服务进程的权限读取数据或修改网站内容。
攻击并非必然成功。攻击者还需要安排相关内存内容,并满足具体运行条件。否则,结果可能只是请求失败或程序崩溃。
3、网站运营方应该怎么办?
漏洞位于 PHP 自身,部分攻击可以在网站业务代码运行之前触发。因此,网站设置了登录验证,也不能据此判断它不受影响。
PHP 已发布 8.2.35、8.3.36、8.4.27 和 8.5.12 修复这两个漏洞。网站运营方应安装修复版本,或使用发行商提供的回补补丁。
发布于 美国
