首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第34期->最新漏洞
期刊号: 类型: 关键词:
Sun ONE/iPlanet Web服务程序分块(chunked)编码传输漏洞

日期:2002-08-16

发布日期:2002-08-09
更新日期:2002-08-12

受影响系统:
Sun ONE Web Server 6.0
Sun ONE Web Server 4.1
Sun ONE/iPlanet Web Server 4.1
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
Sun ONE/iPlanet Web Server 4.1 SP1
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
Sun ONE/iPlanet Web Server 4.1 SP10
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
Sun ONE/iPlanet Web Server 4.1 SP8
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
Sun ONE/iPlanet Web Server 4.1 SP9
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
Sun ONE/iPlanet Web Server 6.0
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
Sun ONE/iPlanet Web Server 6.0 SP1
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
Sun ONE/iPlanet Web Server 6.0 SP2
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
Sun ONE/iPlanet Web Server 6.0 SP3
    - HP HP-UX 11i
    - HP HP-UX 11.0
    - IBM AIX 5.1
    - IBM AIX 4.3.3
    - Microsoft Windows NT 4.0 SP6a
    - Microsoft Windows 2000 SP2
    - RedHat Linux 7.1
    - RedHat Linux 6.2
    - Sun Solaris 8.0
    - Sun Solaris 7.0
    - Sun Solaris 2.6
不受影响系统:
Sun ONE/iPlanet Web Server 6.0 SP4
Sun ONE/iPlanet Web Server 4.1 SP11
描述:
----------------------------------------------------------------------
BUGTRAQ  ID: 5433

Sun ONE/iPlanet Web是由Sun公司开发的WEB服务程序。

Sun ONE/iPlanet Web服务程序在处理'分块编码'方式传输数据的HTTP请求时存在问题,远程攻击者可以利用这个漏洞进行基于堆的溢出攻击。

Sun ONE/iPlanet Web服务程序在在处理分块编码传送(chunked encoding transfer)机制的代码中存在一个堆溢出漏洞。攻击者通过提交恶意分块编码的数据可以覆盖heap区的内存数据,从而改变程序执行流程,以WEB服务进程权限执行任意攻击者指定的代码。

<*来源:Marc Maiffret (marc@eeye.com)
  
  链接:http://www.sun.com/service/support/software/iplanet/alerts/transferencodingalert-23july2002.html
        http://marc.theaimsgroup.com/?l=bugtraq&m=102890933623192&w=2
*>

测试方法:
----------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Marc Maiffret (marc@eeye.com)提供了如下测试方法:

**************Begin Session****************
POST /EEYE.html HTTP/1.1
Host: www.EEYE2002.com
Transfer-Encoding: chunked
Content-Length: 22

4
EEYE
7FFFFFFF
[DATA]
**************End Session******************

建议:
----------------------------------------------------------------------
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

编译和安装下面的NSAPI SAF:

#include

NSAPI_PUBLIC int noTransEnc(pblock *pb, Session *sn, Request *rq)
{
int ret = REQ_NOACTION;
char *temp;
temp = pblock_findval("transfer-encoding", rq->headers);

if (temp != NULL) {
log_error(LOG_SECURITY, "noTransEnc", sn, rq,
"Attemped Transfer Encoding ... aborting.",
temp);
protocol_status(sn, rq, 505, "HTTP Version Not Supported");
ret = REQ_ABORTED;
}
return ret;
}

使用方法:

在[server-root]/[server-instance]/config/obj.conf:

Init fn="load-modules" shlib="[path to libs]/noTranEnc.so" funcs="noTransEnc"

AuthTrans fn=noTransEnc

这个插件是用来处理编码请求的,如果必须在某些目录上使用到chunked编码方式,在那些目录上的chunked编码方式的攻击将会有效。关闭使用这个插件。

另建议Solaris用户在/etc/system中把noexec_user_stack选项设置为1。

厂商补丁:

Sun
---
目前厂商已经在6.0 SP4和4.1 SP11中修复了这个安全问题,请到厂商的主页下载:

Sun ONE Web Server 6.0 Service Pack 4:
http://wwws.sun.com/software/download/download/5289.html

Sun ONE Web Server 4.1 Service Pack 11 :
http://wwws.sun.com/software/download/download/5292.html
版权所有,未经许可,不得转载