CVE-2026-80798 in Linux情報

要約

〜によって VulDB • 2026年09月04日

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

nfc: llcp: LLCPヘッダーより短いPDUを拒否する

すべてのLLCP PDUは2バイトのヘッダー(DSAP/SSAP + PTYPE)で始まりますが、受信パスではフレームが少なくともLLCP_HEADER_SIZEバイト以上であることを確認せずにパースしていました。

nfc_llcp_rx_skb()関数は nfc_llcp_ptype()/nfc_llcp_dsap()/nfc_llcp_ssap() を介してヘッダーを読み込みますが、これらは pdu->data[0] および pdu->data[1] の逆参照を行います。その後、CONNECTまたはCC PDUは以下のように計算します:

tlv_array_len = skb->len - LLCP_HEADER_SIZE;

これを size_t として扱いTLVウォークに渡します。フレームがヘッダーより短い場合、減算結果がオーバーフローして巨大な値になり、ウォーク処理がバッファの範囲外まで実行され、境界外読み取り(out-of-bounds read)が発生します。

近接するNFCデバイスからは認証なしでこの脆弱性にアクセス可能です。LLCPリンクの有効化はNFC-DEP後に自動的に発生します。

ターゲット側 (nfc_llcp_data_received()) とイニシエーター側 (nfc_llcp_recv()) の両方のパスで共有される共通の受信チョークポイントである __nfc_llcp_recv() を保護し、rx_workワーカーがパースする前に短いskbをドロップするようにします。skb->lenテストではなく pskb_may_pull() を使用することで、非線形skbの場合でも2つのヘッダーバイトがskbのリニアエリア内に確実に配置されるようにし、兄弟であるNCIおよびHCIの受信パスにおけるヘッダー検証方法と整合性を取ります。

linux-next上の /dev/virtual_nci 経由でKFENCEによる境界外読み取りを用いて再現されました。

0secの自動化されたセキュリティリサーチツール(https://0sec.ai)によって発見されました。

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

責任者

Linux

予約する

2026年08月26日

モデレーション

承諾済み

エントリ

VDB-398935

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!