Security Lab

DoS атака при обработке ULE пакетов в Linux ядре

Дата публикации:12.09.2006
Дата изменения:17.10.2006
Всего просмотров:3078
Опасность:
Низкая
Наличие исправления: Да
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации: Удаленная
Воздействие: Отказ в обслуживании
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: Linux Kernel 2.6.x
Уязвимые версии: Linux Kernel 2.6.17.11 и более ранние версии

Описание: Уязвимость в Linux ядре позволяет удаленному пользователю вызвать отказ в обслуживании.

Уязвимость связанна с ошибкой в ULE (Unidirectional Lightweight Encapsulation) коде при обработке ULE пакетов. В результате , удаленный злоумышленник может послать специально обработанный ULE пакет с нулевым размером SNDU (Sub Network Data Unit), чтобы аварийно завершить работу системы.

URL производителя: 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;