首页 -> 安全研究

安全研究

安全漏洞
Whois客户端命令行缓冲区溢出漏洞

发布日期:2003-08-22
更新日期:2003-09-08

受影响系统:
Whois Whois 4.6.6
Whois Whois 4.5.7
描述:
BUGTRAQ  ID: 8483

Whois客户端是用于查询whois服务器,收集Internet域数据的工具。

Whois客户端没有正确处理用户提交的超长参数,本地或者远程攻击者可以利用这个漏洞进行缓冲区溢出攻击。

由于whois对'-g'参数缺少正确的缓冲区边界检查,提交超长的字符串作为参数可以发生缓冲区溢出,不过默认whois客户端不以setuid属性安装,但是如果一些CGI脚本进行调用时,就可能进行远程缓冲区溢出攻击,获得WEB权限。

<*来源:Astharot
  
  链接:http://www.zone-h.org/en/advisories/read/id=2925/
*>

测试方法:

警 告

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

Astharot 提供了如下测试方法:

whois -g `perl -e "print 'a'x2000"`

建议:
临时解决方法:

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

*   Rémi Denis-Courmont" <rdenis@simphalempin.com>提供如下第三方补丁:

--- whois-4.6.1/whois.c 2002-12-12 02:20:30.000000000 +0100
+++ whois-4.6.1/whois.c 2003-08-31 20:08:58.000000000 +0200
@@ -73,12 +73,12 @@
/* RIPE flags */
if (strchr(ripeflags, ch)) {
for (p = fstring; *p; p++);
- sprintf(p--, "-%c ", ch);
+ snprintf(p--, fstring+sizeof(fstring) - p, "-%c ", ch);
continue;
}
if (strchr(ripeflagsp, ch)) {
for (p = fstring; *p; p++);
- sprintf(p--, "-%c %s ", ch, optarg);
+ snprintf(p--, fstring+sizeof(fstring) - p, "-%c %s ", ch, optarg);
if (ch == 't' || ch == 'v' || ch == 'q')
nopar = 1;
continue;

厂商补丁:

Whois
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.linux.org

浏览次数:2901
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障