荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bstone (???????????????????????????????????????), 信区: Hacker
标  题: [转载] XFree86 Xserver  远程拒绝服务漏洞
发信站: BBS 荔园晨风站 (Sun May 28 23:02:28 2000), 转信

【 以下文字转载自 bstone 的信箱 】
【 原文由 bstone 所发表 】
发布日期: 2000-5-25

更新日期: 2000-5-26
受影响的系统:  XFree86 X11R6 4.0
XFree86 X11R6 3.3.6
   - RedHat Linux 6.2 i386
XFree86 X11R6 3.3.5
   - RedHat Linux 6.1 i386
描述:
------------------------------------------------------------------------
--------


XFree86 3.3.5, 3.3.6 和 4.0存在一个拒绝服务漏洞。如果远程用户发送一个错
误格式的包到
X server正在监听的6000端口,将使X server停止响应一段时间,这个时间视CPU
的速度不等,
可能是几分钟或者更长。在这期间,键盘,鼠标均会停止响应(4.0下鼠标仍然可以
响应),X server
将会占用%100的CPU 时间。只有在编译时定义了XCSECURITY宏的XFree86 server受
这个漏洞的影响,
用户可以通过下列命令检查是否自己的X server是有问题的:

strings /path/to/XF86_SVGA | grep "XC-QUERY-SECURITY-1"

有问题的代码在:xc/programs/Xserver/os/secauth.c, AuthCheckSitePolicy()
函数中:

// dataP 是用户提供的数据
char        *policy = *dataP;
int         nPolicies;
...
// 如果我们让 nPolicies 初始值为-1...
nPolicies = *policy++;
while (nPolicies) {
...
  nPolicies--;
}

我们看到,如果计数器"nPolicies"初始值设置成 -1 ,再减下去将进行20亿次的循
环,计数器才能
减少到零。这将大量占用CPU时间,导致拒绝服务攻击发生。

<* 来源:Chris Evans <chris@ferret.lmh.ox.ac.uk> *>


建议:
临时解决办法:

使用"-nolisten tcp"参数运行X server,这样X server将不会通过网络接受客户连
接。

--
 Welcome to http://192.168.28.98


※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.28.106]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.28.98]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店