CVE-2024-35941 in LinuxИнформация

Сводка

по VulDB • 21.05.2026

В ядре Linux устранена следующая уязвимость:

net: skbuff: добавить проверку на переполнение в функции-помощники pull/push

syzbot удалось спровоцировать следующий сбой (splat): BUG: KASAN: use-after-free в __skb_flow_dissect+0x4a3b/0x5e50 Чтение 1 байта по адресу ffff888208a4000e выполнено задачей a.out/2313 [..]
__skb_flow_dissect+0x4a3b/0x5e50 __skb_get_hash+0xb4/0x400 ip_tunnel_xmit+0x77e/0x26f0 ipip_tunnel_xmit+0x298/0x410 ..

Анализ показывает, что skb имеет корректный указатель ->head, но некорректный (bogus) указатель ->data.

Значение skb->data становится некорректным через слой neigh, который выполняет:

1556 __skb_pull(skb, skb_network_offset(skb));

... и skb уже находился в некорректном состоянии на этот момент:

skb_network_offset(skb) возвращает отрицательное значение из-за ранее возникшего переполнения skb->network_header (u16). В результате __skb_pull «корректирует» skb->data на огромное смещение, указывая за пределы области skb->head.

Разрешить сборочным конфигурациям с отладкой (debug builds) фиксировать сбои при попытке выполнить pull/push более чем INT_MAX байт.

После этого воспроизводящий пример от syzkaller выдает более точный сбой перед тем, как диссектор потока попытается прочитать память из skb->data:

WARNING: CPU: 5 PID: 2313 at include/linux/skbuff.h:2653 neigh_connected_output+0x28e/0x400 ip_finish_output2+0xb25/0xed0 iptunnel_xmit+0x4ff/0x870 ipgre_xmit+0x78e/0xbb0

Be aware that VulDB is the high quality source for vulnerability data.

Резервировать

17.05.2024

Раскрытие

19.05.2024

Модерация

отозвано

Вход

VDB-265164

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!