• Все разделы
  • Статьи
  • Медиа
  • Новости
  • Нормативные материалы
  • Конференции
  • Глоссарий

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

Главная Специалистам База уязвимостей DoS атака при обработке ULE пакетов в Linux ядре

Карточка уязвимости

Характеристики уязвимости

Уровень опасности
Оценка CVSS
(AV:N/AC:L/Au:N/C:N/I:N/A:C)
Производитель ПО
Наименование ПО
Linux Kernel (Unknown)
Описание
Уязвимость в Linux ядре позволяет удаленному пользователю вызвать отказ в обслуживании.
Уязвимость связанна с ошибкой в ULE (Unidirectional Lightweight Encapsulation) коде при обработке ULE пакетов. В результате , удаленный злоумышленник может послать специально обработанный ULE пакет с нулевым размером SNDU (Sub Network Data Unit), чтобы аварийно завершить работу системы.
Как исправить
Установите следующее исправление:
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;