CVE-2026-99264 in Linux情報

要約

〜によって VulDB • 2026年11月03日

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

io_uring/net: 未コミットのバッファに対するrecvの再試行を行わない

コミット41b70df5b38b(「io_uring/net: リトライ時に部分的なバッファをコミットする」)は、部分転送後に受信が再試行される場合に、リングから提供されたバッファをコミットします。これにより、同じバッファグループを使用している別のリクエストが、最初の要求が引き続き書き込み先のメモリを受け取ってしまうことを防ぎます。この処理では、それまでに受信したバイト数だけがコミットされます。これは全体として消費される単一のバッファには機能しますが、その要求はマップされたすべてのデータを保持し続けます:

- IOU_PBUF_RING_INCのみを使用するバッファリングの場合、これらのバイトのみが消費されます。残りのバッファはリングの先頭に留まります。 - バンドルの場合、それらのバイトを含むバッダのみが消費され、ピーク(参照)された他のバッファはリングに残ります。

どちらの場合も、そのバッファグループに対する次の受信処理では、再試行中の要求がまだ書き込みを行う予定であるメモリが渡されます。最後に到着した側が他方のデータを上書きしてしまいます。再試行によって埋められるデータは一切コミットされません。なぜなら、その時点ではバッファリストの情報が失われているためです。そのため、カーネルは後でこれを再度割り当てますが、CQE(Completion Queue Entry)はアプリケーションに対してそれが使用済みであると通知し、インクリメンタルなバッカの場合には処理完了として扱われます。

残りの部分は事前にコミットできません:もし要求が想定より少ないデータを受信した場合、アプリケーショに「CQEで報告された量よりも多くのデータが消費された」ことを伝える方法がありません。再試行するのではなく、取得した内容でリクエストを完了させます。MSG_WAITALLフラグは、インクリメンタルバッファやマルチバッファバンドルへの受信に対しては無視され、短計数(short count)を返すことができます。この場合、他の短いMSG_WAITALL転送と同様に、要求は失敗としてマークされます。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-430249

EPSS

0.00000

アクティビティ

低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!