漏洞信息详情

PHP multipart/form-data POST请求处理远程漏洞

  • CNNVD编号:CNNVD-200207-120
  • 危害等级: 高危
  • CVE编号: CVE-2002-0717
  • 漏洞类型: 未知
  • 发布时间: 2002-07-26
  • 威胁类型: 远程
  • 更新时间: 2005-10-20
  • 厂        商: php
  • 漏洞来源: Stefan Esser※ s.es...

漏洞简介

PHP是一种流行的WEB服务器端编程语言,它功能强大,简单易用,在很多Unix操作系统缺省都安装了PHP, 它也可以在Windows系统下运行。 PHP 4.2.0和4.2.1在处理HTTP POST请求的代码中存在一个严重安全问题。远程或者本地攻击者可能利用这个漏洞以Web服务器运行权限执行任意指令或者造成Web服务器崩溃。 PHP 包含一段代码用来对HTTP POST请求的头部数据进行智能分析,它主要用来区分用户发来的\"multipart/form-data\"请求中哪些是变量、哪些是文件。PHP 4.2.0开始这部分分析代码被完全重写了,由于缺乏足够的输入检查,用户通过发送一个畸形的POST请求,就可能触发一个错误条件,这个错误并没有被正确的处理。当错误发生时,一个未被初始化的结构被附在mime头链表的后面,当这个链表被释放或者销毁时,PHP会试图释放该结构中的一些指针。由于这个结构没有进行初始化,因此这些指针可能包含以前的函数调用留在堆栈中的数据。如果这些数据是攻击者可以控制的,就有可能利用free/malloc实现中的一些特性来获取控制权。 根据漏洞发现者和PHP开发组的报告,在x86平台下,由于堆栈布局的问题,留在堆栈中的数据无法被有效利用,攻击者无法获取控制权,但可以造成进程崩溃。而在Solaris sparc平台下(可能包含其他系统及平台),攻击者就可以控制堆栈中的数据,使得PHP去释放一个攻击者可以控制的内存块,从而可能获得系统控制权。通常,攻击者可以获取一个普通用户的执行权限。如果web服务器错误地以特权用户(例如 root)身份执行,攻击者也可能获取该特权用户的权限。

漏洞公告

临时解决方法: 如果您不能立刻安装补丁或者升级,CNNVD建议您采取以下措施以降低威胁:

* 修改Apache Web服务器的配置,禁止POST方法的使用。

可以在Apache的配置文件中放入如下代码:

Order deny,allow

Deny from all

并重启Apache进程。 厂商补丁: PHP --- 目前厂商已经在最新的4.2.2版本软件中修复了这个安全问题,请到厂商的主页下载:

http://us3.php.net/distributions/php-4.2.2.tar.bz2

参考网址

来源:US-CERT Vulnerability Note: VU#929115 名称: VU#929115 链接:http://www.kb.cert.org/vuls/id/929115 来源:CERT/CC Advisory: CA-2002-21 名称: CA-2002-21 链接:http://www.cert.org/advisories/CA-2002-21.html 来源: BUGTRAQ 名称: 20020722 Advisory 02/2002: PHP remote vulnerability 链接:http://marc.theaimsgroup.com/?l=bugtraq&m=102734516023281&w=2 来源: BUGTRAQ 名称: 20020722 PHP Security Advisory: Vulnerability in PHP versions 4.2.0 and 4.2.1 链接:http://marc.theaimsgroup.com/?l=bugtraq&m=102734515923277&w=2 来源: XF 名称: php-multipart-handler-bo(9635) 链接:http://www.iss.net/security_center/static/9635.php

受影响实体

补丁

    暂无

漏洞信息快速查询

相关漏洞

更多