DeleGate SSLway Filter远程堆栈缓冲区溢出漏洞
发布日期:2004-05-06
更新日期:2004-05-12
受影响系统:DeleGate DeleGate 8.9.2
DeleGate DeleGate 8.9.1
DeleGate DeleGate 8.9
DeleGate DeleGate 8.5.0
DeleGate DeleGate 8.4.0
DeleGate DeleGate 8.3.4
DeleGate DeleGate 8.3.3
DeleGate DeleGate 7.9.11
DeleGate DeleGate 7.8.2
DeleGate DeleGate 7.8.1
DeleGate DeleGate 7.8.0
DeleGate DeleGate 7.7.1
DeleGate DeleGate 7.7.0
- FreeBSD 5.0
- HP HP-UX 11.20
- IBM AIX 4.3.3
- Microsoft Windows NT 4.0 SP6a
- Microsoft Windows NT 4.0 SP6
- Microsoft Windows NT 4.0 SP5
- Microsoft Windows NT 4.0 SP4
- Microsoft Windows NT 4.0 SP3
- Microsoft Windows NT 4.0 SP2
- Microsoft Windows NT 4.0 SP1
- Microsoft Windows NT 4.0
- Microsoft Windows ME
- Microsoft Windows 98 SE
- Microsoft Windows 98
- Microsoft Windows 95
- Microsoft Windows 2000 SP3
- OpenBSD 3.0
- OpenBSD 2.9
- Sun Solaris 8.0
- Sun Solaris 7.0
- Sun Solaris 2.6
不受影响系统:DeleGate DeleGate 8.9.3
描述:
BUGTRAQ ID:
10295
CVE(CAN) ID:
CVE-2004-2003
DeleGate是一款多功能应用级网关,运行在多个平台上。
DeleGate SSLway过滤器在处理用户提供的部分证书字段内容时缺少充分边界检查,远程攻击者可以利用这个漏洞对网关程序进行缓冲区溢出攻击,可能以进程权限在系统上执行任意指令。
当DeleGate SSLway过滤器使用时处理客户或服务端连接时存在漏洞,使用标题或发送者名字字段内容超过256字节的证书,可触发缓冲区溢出:
static ssl_prcert(ssl,show,outssl,outfd,what)
SSL *ssl;
char *what;
{ X509 *peer;
char subjb[256],*sb,issrb[256],*is;
char *dp,ident[256];
ident[0] = 0;
if( peer = SSL_get_peer_certificate(ssl) ){
sb = X509_NAME_oneline(X509_get_subject_name(peer),subjb,1024);
is = X509_NAME_oneline(X509_get_issuer_name(peer),issrb,1024);
X509_NAME_oneline()的第二个参数是要写入的缓冲区,第三个参数是缓冲区大小,上面缓冲区大小定义为1024字节,而缓冲区实际只有256字节,因此过多的数据可覆盖ssl_prcert()的返回地址。
<*来源:Joel Eriksson (
je@bitnux.com)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=108386181021070&w=2
*>
建议:
厂商补丁:
DeleGate
--------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
DeleGate Upgrade DeleGate/8.9.3
ftp://ftp.delegate.org/pub/DeleGate/download.html浏览次数:3790
严重程度:0(网友投票)