CVE-2023-52843 in LinuxИнформация

Сводка

по VulDB • 23.06.2026

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

llc: проверка длины MAC-адреса перед чтением заголовка MAC

LLC считывает заголовок MAC с помощью eth_hdr, не проверяя наличие в skb Ethernet-заголовка.

Syzbot смог вызвать llc_rcv на устройстве tun. Устройства tun могут вставлять пакеты без указания mac_len и с пользовательски настроенным значением skb->protocol (передавая заголовок tun_pi при отключении флага IFF_NO_PI).

BUG: KMSAN: uninit-value in llc_station_ac_send_test_r net/llc/llc_station.c:81 [inline]
BUG: KMSAN: uninit-value in llc_station_rcv+0x6fb/0x1290 net/llc/llc_station.c:111 llc_station_ac_send_test_r net/llc/llc_station.c:81 [inline]
llc_station_rcv+0x6fb/0x1290 net/llc/llc_station.c:111 llc_rcv+0xc5d/0x14a0 net/llc/llc_input.c:218 __netif_receive_skb_one_core net/core/dev.c:5523 [inline]
__netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5637 netif_receive_skb_internal net/core/dev.c:5723 [inline]
netif_receive_skb+0x58/0x660 net/core/dev.c:5782 tun_rx_batched+0x3ee/0x980 drivers/net/tun.c:1555 tun_get_user+0x54c5/0x69c0 drivers/net/tun.c:2002

Добавлена проверка mac_len перед всеми тремя вызовами eth_hdr(skb) в поддиректории net/llc.

Существуют дополнительные использования в include/net/llc_pdu.h. Все они защищены проверкой skb->protocol == ETH_P_802_2, которая не защищает от сценария с tun-устройствами.

Однако проверка mac_len, добавленная в этом патче в функцию llc_fixup_skb, косвенно защитит и эти случаи. Эта функция вызывается из llc_rcv до выполнения любого другого кода LLC.

Соблазнительно просто добавить общую проверку mac_len в llc_rcv, но неясно, может ли это нарушить корректные пути обработки LLC, которые не предполагают наличия Ethernet-заголовка. Протокол 802.2 LLC теоретически может использоваться поверх протоколов, отличных от 802.3. В упомянутом ниже коммите показано, что ранее он использовался поверх Token Ring.

По крайней мере одно из трех использования eth_hdr восходит к периоду до начала истории git. Однако то использование, которое эксплуатирует syzbot, было добавлено в этом коммите. Этот коммит достаточно старый (2008 год), поэтому данное исправление должно быть применено практически во всех стабильных версиях ядра.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Раскрытие

21.05.2024

Модерация

принято

Вход

VDB-265569

EPSS

0.00245

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!