CVE-2002-0717
CVSS7.5
发布时间 :2002-07-26 00:00:00
修订时间 :2016-10-17 22:21:48
NMCO    

[原文]PHP 4.2.0 and 4.2.1 allows remote attackers to cause a denial of service and possibly execute arbitrary code via an HTTP POST request with certain arguments in a multipart/form-data form, which generates an error condition that is not properly handled and causes improper memory to be freed.


[CNNVD]PHP multipart/form-data POST请求处理远程漏洞(CNNVD-200207-120)

        
        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)身份执行,攻击者也可能获取该特权用户的权限。
        

- CVSS (基础分值)

CVSS分值: 7.5 [严重(HIGH)]
机密性影响: [--]
完整性影响: [--]
可用性影响: [--]
攻击复杂度: [--]
攻击向量: [--]
身份认证: [--]

- CPE (受影响的平台与产品)

cpe:/a:php:php:4.2.1PHP PHP 4.2.1
cpe:/a:php:php:4.2.0PHP PHP 4.2.0

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-0717
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2002-0717
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200207-120
(官方数据源) CNNVD

- 其它链接及资源

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

- 漏洞信息

PHP multipart/form-data POST请求处理远程漏洞
高危 未知
2002-07-26 00:00:00 2005-10-20 00:00:00
远程  
        
        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

- 漏洞信息

14434
PHP HTTP POST Request multipart/form-data Overflow
Input Manipulation
Loss of Integrity

- 漏洞描述

Unknown or Incomplete

- 时间线

2002-07-22 Unknow
Unknow Unknow

- 解决方案

Unknown or Incomplete

- 相关参考

- 漏洞作者

Unknown or Incomplete
 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站