2024年PHP日本大会

PHP安全公告:PHP 4.2.0和4.2.1版本中的漏洞

[ 法文版 ]

发布日期
2002年7月22日
软件
PHP 4.2.0和4.2.1版本
平台
所有

PHP团队发现PHP 4.2.0和4.2.1版本中存在严重的安全性漏洞。攻击者可能能够以Web服务器的权限执行任意代码。此漏洞可能被利用来破坏Web服务器,并在某些情况下获得特权访问。

描述

PHP包含用于智能解析HTTP POST请求头的代码。此代码用于区分用户代理在“multipart/form-data”请求中发送的变量和文件。此解析器输入检查不足,导致此漏洞。

任何能够向受影响的Web服务器发送HTTP POST请求的人都可以利用此漏洞。本地和远程用户,即使在防火墙之后,也可能能够获得特权访问。

影响

本地和远程用户都可能利用此漏洞来破坏Web服务器,并在某些情况下获得特权访问。到目前为止,只有IA32平台已被验证可以安全地防止执行任意代码。此漏洞仍然可以在IA32上用来使PHP崩溃,并且在大多数情况下会使Web服务器崩溃。

解决方案

PHP团队发布了新的PHP版本4.2.2,其中包含此漏洞的修复程序。我们鼓励所有使用受影响PHP版本的用户升级到最新版本。下载页面 提供了新的4.2.2源代码tar包、Windows二进制文件以及从4.2.0和4.2.1版本的源代码补丁。

变通方法

如果受影响Web服务器上的PHP应用程序不依赖于来自用户代理的HTTP POST输入,通常可以在Web服务器上拒绝POST请求。

例如,在Apache Web服务器中,可以在主配置文件或顶级.htaccess文件中包含以下代码

<Limit POST>
   Order deny,allow
   Deny from all
</Limit>

请注意,现有的配置和/或.htaccess文件可能包含与上面示例相矛盾的参数。

鸣谢

PHP团队感谢e-matters GmbH的Stefan Esser发现此漏洞。e-matters GmbH还发布了独立咨询,更详细地描述了此漏洞。

To Top