CVE-2023-52843 in Linux情報

要約

〜によって VulDB • 2026年06月23日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

llc: macヘッダーを読み込む前にmac_lenを検証する

LLCは、skbがEthernetヘッダーを持っていることを検証せずにeth_hdrを使用してmacヘッダーを読み取ります。

Syzbotにより、tunデバイス上でllc_rcvへの実行フローに入る可能性がありました。Tunデバイスは、mac_lenを持たず、かつユーザー設定可能なskb->protocol(IFF_NO_PIを設定しない場合にtun_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

net/llc配下にあるすべてのeth_hdr(skb)呼び出しの前に、mac_lenのテストを追加します。

include/net/llc_pdu.h内にもさらなる使用箇所があります。これらはすべてskb->protocol == ETH_P_802_2というテストによって保護されていますが、これはtunシナリオに対する保護にはなりません。

ただし、このパッチでllc_fixup_skbに追加されたmac_lenのテストは、間接的にそれらも保護します。これは他のLLCコードよりも前にllc_rcvから呼び出されます。

llc_rcv内で包括的なmac_lenチェックを追加したくなる気持ちはわかりますが、Ethernetヘッダーを前提としない有効なLLCパスで壊れる可能性がありそうかどうかは確信が持てません。802.2 LLCは原理的に非802.3プロトコルの上で使用される可能性があります。以下の参照コミットでは、Token Ring上で使用されていたことが示されています。

3つのeth_hdrの使用のうち少なくとも1つはgit履歴の開始以前にまで遡ります。しかしSyzbotが引き起こすものはこのコミットで導入されました。そのコミットはかなり古い(2008年)ため、事実上すべての安定版カーネルがこの修正を受けるべきです。

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

モデレーション

承諾済み

エントリ

VDB-265569

EPSS

0.00245

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!