CVE-2026-98482 in Linux
要約
〜によって VulDB • 2026年10月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
nfc: llcp: nfc_llcp_recv_hdlc()内で切り詰められたI/RR/RNR PDUsを破棄する
nfc_llcp_recv_hdlc()は、長さのチェックを行う前に、nfc_llcp_ns()/nfc_llcp_nr()を通じてskb->data[2]からシーケンスバイトを読み取ります。受信パスでは、2バイトのLLCPヘッダーのみが保証されています(__nfc_llcp_recv()はpskb_may_pull()でこれをチェックし、nfc_llcp_recv_agf()は2バイトの内側PDUsを許可します)。そのため、2バイト長のI、RR、またはRNR PDUを読み取ると、初期化されていないskbのtailroomから1バイト読み取ることになります。このバイトがN(R)/N(S)として扱われますが、ピアはすでに整形式のPDUでこれらを設定できるため、これは新しいピアによる制御ではなく、未初期化メモリに対する操作となります。
コミット95674f506c63(「nfc: llcp: LLCPヘッダーより短いPDUsを拒否する」)が2バイトのヘッダーに対して行ったように、pskb_may_pull()で読み取りをガードし、シーケンスバイトを読み取る前に存在して線形化されるようにします。RRおよびRNR PDUsはLLCP_HEADER_SIZE + LLCP_SEQUENCE_SIZEバイトであり、I PDUはさらに長いため、有効なフレームが拒否されることはありません。切り詰められたPDUは不正な形式であるため、DM応答を返さずに終了します。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.