XChat DNS命令字符过滤不当导致执行任意命令漏洞
发布日期:2002-03-27
更新日期:2002-04-03
受影响系统:X-Chat X-Chat 1.8.8
X-Chat X-Chat 1.8.7
X-Chat X-Chat 1.8.6
X-Chat X-Chat 1.8.2
X-Chat X-Chat 1.8.1
描述:
BUGTRAQ ID:
4376
CVE(CAN) ID:
CVE-2002-0382
xchat是一款免费开放源代码的IRC客户端,可运行在Unix、Linux和Microsoft Windows平台下。
xchat对来自IRC服务器上的响应没有正确过滤,可导致任意命令在运行xchat客户端系统上执行。
问题存在于/dns命令处理上,/dsn要解析某人的主机,需要发送"/dns some_nick"命令再执行"%s %s",xchat通过commond/outbound.c文件中1474行的cmd_dns()函数处理执行"%s %s":
{
sprintf (tbuf, "/exec %s %s", prefs.dnsprogram, nick);
handle_command (tbuf, sess, 0, 0);
}
而在cmd_exec()函数1863行存在如下代码:
execl ("/bin/sh", "sh", "-c", cmd, 0);
在执行cmd命令时没有过滤任意字符,可使服务器通过在DNS响应上追加";DISPLAY=localhost:0.0;xterm" 等命令,当命令传递给execl的时候,就会变成"host;DISPLAY=localhost:0.0;xterm"传送给xchat端,而导致此命令在xchat端上执行。
要利用此漏洞需要两个条件:
* 你必须控制服务器进行响应。
* 客户端必须运行/dns命令。
<*来源:SpaceWalker (
spacewalker@altern.org)
链接:
http://archives.neohapsis.com/archives/bugtraq/2002-03/0332.html
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 在漏洞修补之前,不要使用/dns命令。
厂商补丁:
X-Chat
------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.xchat.org/浏览次数:3287
严重程度:0(网友投票)