Linux Kernel畸形ULE报文处理远程拒绝服务漏洞

2006-10-25T00:00:00
ID SSV:141
Type seebug
Reporter Root
Modified 2006-10-25T00:00:00

Description

Linux Kernel是开放源码操作系统Linux所使用的内核。

Linux的ULE(单向轻型封装RFC 4326)拆封代码存在一个漏洞,远程攻击者可能利用此漏洞对接收处理的服务器造成拒绝服务攻击。

攻击者可以通过发送SNDU长度为0的ULE报文导致漏洞的触发。

受影响系统: Linux kernel 2.6.x <= 2.6.17.7 不受影响系统: Linux kernel 2.6.17.8 厂商补丁:

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;