Apache mod_proxy远程缓冲区溢出漏洞

漏洞信息详情

Apache mod_proxy远程缓冲区溢出漏洞

漏洞简介

mod_proxy是一个可在Apache使用的代理模块。
mod_proxy在处理负的Content-Length值时存在问题,远程攻击者可以利用这个漏洞进行缓冲区溢出攻击,可能以Apache进程权限在系统上执行任意指令。
连接远程服务器使其返回非法(负值)的Content-Length,可使Mod_proxy触发基于整数的溢出,会导致Apache子进程崩溃。问题存在于proxy_util.c中:
n = ap_bread(f, buf, MIN((int)buf_size,
(int)(len – total_bytes_rcvd)));
这里len可为负值。

在旧的OpenBSD/FreeBSD系统中可利用memcpy的反向拷贝实现来执行任意指令。新的BSD系统中由于攻击者可以控制3个任意字节也能用于执行任意指令。如果define AP_ENABLE_EXCEPTION_HOOK启用的情况下,可能在任何平台都可被利用。

漏洞公告

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

* Georgi Guninski提供如下第三方补丁:

————————————-

diff -u apache_1.3.31/src/modules/proxy/proxy_util.c apache_1.3.31my/src/modules/proxy/proxy_util.c

— apache_1.3.31/src/modules/proxy/proxy_util.c Tue Feb 17 23:52:22 2004

+++ apache_1.3.31my/src/modules/proxy/proxy_util.c Tue Jun 8 11:24:15 2004

@@ -545,8 +545,8 @@

n = ap_bread(f, buf, buf_size);

}

else {

– n = ap_bread(f, buf, MIN((int)buf_size,

– (int)(len – total_bytes_rcvd)));

+ n = ap_bread(f, buf, MIN((size_t)buf_size,

+ (size_t)(len – total_bytes_rcvd)));

}

}

————————————-

或者CNNVD建议您不要打开mod_proxy模块。
厂商补丁:
Apache Software Foundation
————————–
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

Index: src/CHANGES

===================================================================

RCS file: /home/cvs/apache-1.3/src/CHANGES,v

retrieving revision 1.1942

diff -u -p -u -r1.1942 CHANGES

— src/CHANGES 2 Jun 2004 22:49:03 -0000 1.1942

+++ src/CHANGES 9 Jun 2004 15:58:44 -0000

@@ -1,5 +1,9 @@

Changes with Apache 1.3.32

+ *) SECURITY: CAN-2004-0492 (cve.mitre.org)

+ Reject responses from a remote server if sent an invalid (negative)

+ Content-Length. [Mark Cox]

+

*) Fix a bunch of cases where the return code of the regex compiler

was not checked properly. This affects mod_usertrack and

core. PR 28218. [Andr?Malo]

Index: src/modules/proxy/proxy_http.c

===================================================================

RCS file: /home/cvs/apache-1.3/src/modules/proxy/proxy_http.c,v

retrieving revision 1.106

diff -u -p -u -r1.106 proxy_http.c

— src/modules/proxy/proxy_http.c 29 Mar 2004 17:47:15 -0000 1.106

+++ src/modules/proxy/proxy_http.c 8 Jun 2004 14:23:05 -0000

@@ -485,6 +485,13 @@ int ap_proxy_http_handler(request_rec *r

content_length = ap_table_get(resp_hdrs, “Content-Length”);

if (content_length != NULL) {

c->len = ap_strtol(content_length, NULL, 10);

+

+ if (c->len < 0) {

+ ap_kill_timeout(r);

+ return ap_proxyerror(r, HTTP_BAD_GATEWAY, ap_pstrcat(r->pool,

+ “Invalid Content-Length from remote server”,

+ NULL));

+ }

}

}

参考网址

来源:US-CERT Vulnerability Note: VU#541310
名称: VU#541310
链接:http://www.kb.cert.org/vuls/id/541310

来源: DEBIAN
名称: DSA-525
链接:http://www.debian.org/security/2004/dsa-525

来源: REDHAT
名称: RHSA-2004:245
链接:http://rhn.redhat.com/errata/RHSA-2004-245.html

来源: BUGTRAQ
名称: 20040611 [OpenPKG-SA-2004.029] OpenPKG Security Advisory (apache)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=108711172710140&w=2

来源: FEDORA
名称: FLSA:1737
链接:https://bugzilla.fedora.us/show_bug.cgi?id=1737

来源: XF
名称: apache-modproxy-contentlength-bo(16387)
链接:http://xforce.iss.net/xforce/xfdb/16387

来源: www.guninski.com
链接:http://www.guninski.com/modproxy1.html

来源: SUNALERT
名称: 57628
链接:http://sunsolve.sun.com/search/document.do?assetkey=1-26-57628-1

来源: SUNALERT
名称: 101841
链接:http://sunsolve.sun.com/search/document.do?assetkey=1-26-101841-1

来源: SUNALERT
名称: 101555
链接:http://sunsolve.sun.com/search/document.do?assetkey=1-26-101555-1

来源: SECUNIA
名称: 11841
链接:http://secunia.com/advisories/11841

来源: FULLDISC
名称: 20040610 Buffer overflow in apache mod_proxy,yet still apache much better than windows
链接:http://seclists.org/lists/fulldisclosure/2004/Jun/0296.html

来源: SGI
名称: 20040605-01-U
链接:ftp://patches.sgi.com/support/free/security/advisories/20040605-01-U.asc

来源: MANDRAKE
名称: MDKSA-2004:065
链接:http://www.mandriva.com/security/advisories?name=MDKSA-2004:065

来源: US Government Resource: oval:org.mitre.oval:def:4863
名称: oval:org.mitre.oval:def:4863
链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:4863

来源: US Government Resource: oval:org.mitre.oval:def:100112
名称: oval:org.mitre.oval:def:100112
链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:100112

受影响实体

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享