首页 -> 安全研究

安全研究

安全漏洞
Balabit syslog-ng 远程DoS攻击

发布日期:2000-11-24
更新日期:2000-11-24

受影响系统:

    Balabit syslog-ng 1.4.8
    Balabit syslog-ng 1.4.7
    Balabit syslog-ng 1.4.6 and prior
不受影响系统:

    Balabit syslog-ng 1.4.9
描述:

IE 5.5 (可能包括其他版本) 在本地文件index.dat中保存最近访问过的URLs以及其
他缓存信息,index.dat在本地硬盘上的位置一般固定:

Windows 9x:
C:/WINDOWS/Temporary Internet Files/Content.IE5/

Windows 2000:
C:/Documents and Settings/USERNAME/Local Settings/Temporary Internet Files/Content.IE5/syslog-ng用于代替Unix系统上的syslogd,其日志信息解析函
数存在一个设计缺陷,
远程客户端有可能通过引发一条特殊设计过的日志信息导致syslog-ng被SIGSEGV信号
终止掉。

每条日志信息都带有一个优先级标志,形如<n>,n代表优先级。日志信息解析函数使
用变量"left"记录该条日志信息字符个数。如果优先级标志<n>并没有以字符'>'结束,
由于一个设计上的缺陷,变量left的值被设置成-1。left递减,程序判断left是否为
0,进而确定是否到达日志信息尾部。

1.4.7和1.4.8版本中,会替换日志信息中的\r、\n字符成空格字符,在前面描述的情
形下,由于越界,程序很可能写访问那些本无权访问的内存区域,此时内核向相应进
程发送SIGSEGV信号终止进程。

一个形如"<6 ... ... \n"的日志信息将导致syslog-ng崩溃。

低于1.4.7的版本也存在类似问题,目前细节不明。

<* 来源:Balazs Scheidler (bazsi@BALABIT.HU) *>




测试方法:

警 告

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




建议:

厂商补丁:

Balabit发布了1.4.9版本,但解决的是另外一个问题,应该升级到1.49a版本,两个
问题都被解决了。

http://www.balabit.hu/products/syslog-ng/

对于那些不想升级的用户,Balabit提供了如下补丁:

diff -urN syslog-ng-1.4.8/src/log.c syslog-ng-1.4.9/src/log.c
--- syslog-ng-1.4.8/src/log.c Tue Oct 10 15:05:52 2000
+++ syslog-ng-1.4.9/src/log.c Wed Nov 22 16:45:11 2000
@@ -67,8 +67,10 @@
left--;
}
lm->pri =3D pri;
- src++;
- left--;
+ if (left) {
+ src++;
+ left--;
+ }
}
else {
lm->pri =3D LOG_USER | LOG_NOTICE;


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