受影响系统:
Snort Project Snort 2.8
不受影响系统: Snort Project Snort 2.8.5
描述: BUGTRAQID: 36473
Snort是广泛部署的开放源码网络入侵检测系统(IDS)。
Snort在以Snort unified 1二进制格式进行报警和记录时存在拒绝服务漏洞。当snort.conf配置文件使用以下传统的unified 1输出配置且启用了Stream5预处理器时可能会出现这个漏洞:
output unified: filename snort.log, limit 128
漏洞的起因是Snort在记录报文重构流数据时没有正确地设置内存缓冲区写操作的偏移,导致日志文件中会记录被破坏的统一日志头和数据,无法使用正常的解析器或警告前端解析或查看所生成的警告。
当警告中包含有报文数据信息(原始报文)时,UnifiedLogStreamCallback()函数会写入原始报文数据覆盖UnifiedLog头,用原始报文的MAC地址覆盖警告类型和大小,因此畸形报文(带有特制MAC地址的Eth/IP/TCP/Data)可以生成特制的警告,解析器无法从中获得警告信息。
<*来源:Pablo Rincón Crespo (pablo.rincon.crespo@gmail.com)
链接:http://pablo-secdev.blogspot.com/2009/09/snort-28-285stable-unified1-output-bug.html
http://secunia.com/advisories/36808/
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://milw0rm.com/sploits/2009-snort-unified1_bug.tar.gz
建议: 厂商补丁:
Snort Project
-------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.snort.org/