FWTK x-gw格式串漏洞
发布日期:2000-10-29
更新日期:2000-10-29
受影响系统:
TIS Firewall Toolkit中所带的x-gw组件
描述:
TIS Firewall Toolkit中(FWTK)所带的x-gw(X Windows网关)组件包含一个格式串
漏洞。在某些安装条件下,可能导致用户执行任意代码。
FWTK包含一套代理服务程序用来建立一套防火墙系统,取决于FWTK安装时的选择
不同,可能存在很多不同的配置状况。
x-gw组件用来在X Windows客户端与服务器之间提供代理连接服务。正常情况下
x-gw是通过tn-gw(Telnet网关)组件来启动的。如果安装时采用了此种启动x-gw
的方式,就不受此漏洞影响,因为tn-gw进行了正确的输入数据的检查。除此之外
的任何启动x-gw方式都是有问题的。
x-gw将X Windows所要连接的display(显示器编号)作为命令行参数或者环境变量
,当对此进行安全检查时,如果发现不符合正确格式,x-gw将会报告一个错误,
然而输出错误信息的函数有一个格式串漏洞,它将用户提供的输入数据作为格式
串处理,攻击者可能覆盖堆栈中的任意数据,并执行任意代码。
有问题的函数是x-gw/pmsg.c中的pmsg().
<*来源:Pekka Savola
geekgang Security Advisory [gsa2000-01]:
www.geekgang.co.uk
*>
建议:
临时解决方法:
NSFOCUS建议您检查您的x-gw的启动方法,如果不是通过tn-gw启动,请设置为
通过tn-gw启动。
或者使用geekgang提供的下列补丁程序,并重新编译x-gw:
--- x-gw/pmsg.c.orig Mon Oct 23 13:21:26 2000
+++ x-gw/pmsg.c Mon Oct 23 13:22:36 2000
@@ -37,9 +37,9 @@
buf[sizeof(buf)-1] = '\0';
}
- if( uselog ) syslog( LLEV, buf );
+ if( uselog ) syslog( LLEV, "%s", buf );
else {
- fprintf( stderr, buf );
+ fprintf( stderr, "%s", buf );
fflush(stderr);
}
}
厂商补丁:
fwtk已经得知此漏洞,补丁将会尽快在他们的站点公布:
http://www.fwtk.org
浏览次数:5778
严重程度:0(网友投票)