Linux Kernel畸形ULE报文处理远程拒绝服务漏洞
发布日期:2006-09-11
更新日期:2006-09-12
受影响系统:Linux kernel 2.6.x <= 2.6.17.7
不受影响系统:Linux kernel 2.6.17.8
描述:
BUGTRAQ ID:
19939
CVE(CAN) ID:
CVE-2006-4623
Linux Kernel是开放源码操作系统Linux所使用的内核。
Linux的ULE(单向轻型封装RFC 4326)拆封代码存在一个漏洞,远程攻击者可能利用此漏洞对接收处理的服务器造成拒绝服务攻击。
攻击者可以通过发送SNDU长度为0的ULE报文导致漏洞的触发。
<*来源:Ang Way Chuang (
wcang@nrg.cs.usm.my)
链接:
http://lkml.org/lkml/2006/8/20/278
*>
建议:
厂商补丁:
Linux
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.kernel.org/
diff -uprN linux-2.6.17.8/drivers/media/dvb/dvb-core/dvb_net.c linux-2.6.17.8-fix/drivers/media/dvb/dvb-core/dvb_net.c
--- linux-2.6.17.8/drivers/media/dvb/dvb-core/dvb_net.c 2006-08-07 12:18:54.000000000 +0800
+++ linux-2.6.17.8-fix/drivers/media/dvb/dvb-core/dvb_net.c 2006-08-21 11:09:12.000000000 +0800
@@ -492,7 +492,7 @@ static void dvb_net_ule( struct net_devi
} else
priv->ule_dbit = 0;
- if (priv->ule_sndu_len > 32763) {
+ if (priv->ule_sndu_len > 32763 || priv->ule_sndu_len < ((priv->ule_dbit) ? 4 : 4 + ETH_ALEN)) {
printk(KERN_WARNING "%lu: Invalid ULE SNDU length %u. "
"Resyncing.\n", priv->ts_count, priv->ule_sndu_len);
priv->ule_sndu_len = 0;
浏览次数:3802
严重程度:0(网友投票)