CVE-2026-74434 in Linux情報

要約

〜によって VulDB • 2026年08月15日

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

rxrpc: PEEKされたOOBメッセージをpendingキューに移動しない

rxrpc_recvmsg_oob()は、受信したOOB(Out-of-Band)メッセージを受信側OOBキュー(recvmsg_oobq)から取り除き、応答が必要な場合はそれを保留中OOBツリー(pending_oobq)に移動します。しかし、recvmsg_oobqからのアンリンク処理のみがMSG_PEEKフラグによって保護されており、pending_oobqへの移動は常に実行されます。

その結果、MSG_PEEKを使用してチャレンジを読み込むと、skb(socket buffer)がrecvmsg_oobqに残ったまま、同時にpending_oobqにも追加されてしまいます。struct sk_buffのrbnodeフィールドはnextおよびprevポインタと同じメモリ領域を共有しているため、rb_insert_color()呼び出しによってリストリンク情報が上書きされ、単一の参照しか保持していないskbが両方のキューから同時に到達可能になってしまいます。

ソケットがクローズされると、2つのキューが順次空にされます。recvmsg_oobqの処理中に__skb_unlink()はrbnodeによって上書きされたnextおよびprevポインタをたどり、不正なアドレスに対して書き込みを行います。また、skbは単一の参照しか保持していませんが各キューから解放されるため、skb自体とそれが保持する接続参照の両方が2回ずつ解放されます。これによりメモリ破壊が発生し、さらに接続のリファレンスカウントアンダーフローによってuse-after-free(フリー後使用)脆弱性が引き起こされます。

MSG_PEEKはキューからのメッセージ消費を行わないため、recvmsg_oobqからのアンリンクのみを行い、その後で実際にメッセージが消費された場合にpending_oobqへの移動または解放を行うようにします。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Linux

予約する

2026年08月15日

モデレーション

承諾済み

エントリ

VDB-390398

EPSS

0.00000

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!