PHP针对两个严重的远程代码执行漏洞发布了修复补丁,并强烈建议所有用户尽快完成更新,因为黑客已经开始在真实攻击中利用这些漏洞。
PHP发布了一份新的安全公告,称已通过补丁修复了CVE-2026-109618和CVE-2026-109619两个漏洞。前者是一个内存溢出处理错误,后者是一个释放后重用的内存错误。两者的严重性评分均为9.2/10(严重级别)。
这些漏洞已在PHP 8.5.12、8.4.27、8.3.36和8.2.35版本中得到修复。用户可以从PHP的下载页面获取相应版本,Windows源码和二进制文件也在同一页面提供。据悉,Linux发行版和长期支持版本(LTS)的供应商已提前获得补丁,因此用户应向各自的供应商咨询获取更新包。
撼动互联网根基
PHP是全球网站和网络应用程序中最流行的编程语言之一,因此一旦发现远程代码执行类的零日漏洞,其影响不容小觑。
按照原计划,PHP本应悄悄完成修复工作,避免给网络犯罪分子提前利用漏洞的机会。然而,有关这些漏洞的信息却在两天前提前泄露到网络上,引发了严重的恐慌。据路透社报道,欧洲多个政府、医疗和教育类网站因此决定暂时下线,以避免成为攻击目标。
不同信息来源给出了不同说法。例如,Nextron Systems研究负责人弗洛里安·罗斯(Florian Roth)表示,这两个漏洞都将被评为10/10的严重级别,但事实并非如此。他还表示只有PHP 8会被修复,这一点后来被证实属实,尽管此前有其他消息源称修复范围将下探至PHP 5版本。
这同样是个重大问题,因为可以肯定的是,有数以百万计的网站仍在运行已停止维护的旧版PHP,这些网站现在很可能相对容易地成为攻击目标。据BleepingComputer引用VirusTotal的数据,目前有超过510万台PHP主机暴露在互联网上,其中约380万台至少开放了一个端口。
根据PHP官方的说法,“所有处理网络请求的PHP安装环境,包括PHP-FPM、带mod_php的Apache、php-cgi、FrankenPHP和LiteSpeed”都存在风险。“我们认为mod_php的风险最高,已有被证实的漏洞利用方式,攻击者可以在任何应用代码运行之前,通过一个未经身份验证的请求就触发攻击。”
不再受支持的版本
PHP 8.1及更早版本将不会获得修复,因此如果你正在运行这些版本,将面临较大风险。Cloudflare首席技术官戴恩·克内希特(Dane Knecht)表示,公司“已经看到早期攻击开始出现”,并正在随着新的攻击手段不断出现而更新防护措施。这番表态是在PHP发布修复补丁的数小时之前做出的。PHP方面补充说:“鉴于这些漏洞的严重性,PHP安全团队为PHP 7.4、PHP 8.0和PHP 8.1提供了最小化的源码回植补丁,以帮助那些从源码构建或没有LTS供应商支持的用户。”
目前最安全的做法是立即更新PHP。对于无法马上完成更新的用户,PHP给出了一些缓解措施建议,但同时强调这些措施并非完整的解决方案。针对内存溢出漏洞,维护团队建议合理设置内存限制,并限制包括文件上传在内的传入请求大小,以降低与内存相关的攻击风险。管理员还可以利用容器资源限制,防止某个存在漏洞的工作进程影响到整个系统的其他部分。
针对释放后重用漏洞,PHP建议管理员禁用会话上传进度跟踪功能,并开启致命错误回溯功能(适用于PHP 8.5)。此外,还应修复可能引发崩溃或超时的应用程序错误,并避免使用会在应用完全初始化之前生成错误信息的过时配置设置。
来源:BleepingComputer
关注TechRadar的Google News频道,并将我们设为首选来源,以便在信息流中获取我们的专业新闻、评测和观点内容。