vs gauge
区分
JVN番号
タイトル
JVN
深刻度
最終更新日
CVE番号
New
JVNDB-2026-014679

LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性

7.1
2026/05/08 12:24
CVE-2026-31774
JVNDB-2026-014679
LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性
概要
Linuxカーネルにおいて、次の脆弱性が修正されました。io_uring/net: io_bundle_nbufs()におけるスラブの境界外読み取りの問題です。sqe-lenは__u32型ですが、sr-lenに格納されるとint型になります。ユーザースペースがINT_MAX(例:0xFFFFFFFF)を超えるsqe-lenの値を渡すと、sr-lenが負の値にオーバーフローします。この負の値がバンドルの受信/送信パス全体に伝播します。以下の流れで問題が発生します。1. io_recv(): sel.val = sr-len(ssize_tが-1となる) 2. io_recv_buf_select(): arg.max_len = sel-val(size_tが0xFFFFFFFFFFFFFFFFとなる) 3. io_ring_buffers_peek(): max_lenが非常に大きいためbuf-lenは制限されない 4. iov[].iov_lenに0xFFFFFFFFがio_bundle_nbufs()へ流れ込む 5. io_bundle_nbufs(): min_t(int, 0xFFFFFFFF, ret)が-1を返し、retが減少するのではなく増加し、確保されたiov[]配列の境界を超える無限ループが発生します。これにより、io_bundle_nbufs()でkmalloc-64スラブの範囲外の読み取りが起き、nbufsが確保されたiovecエントリを超えて増加します。バグ内容は次のとおりです。KASAN: io_bundle_nbufs+0x128/0x160におけるスラブの境界外読み取りがサイズ8でアドレスffff888100ae05c8にてタスクexp/145によって行われました。コールトレースはio_bundle_nbufs+0x128/0x160、io_recv_finish+0x117/0xe20、io_recv+0x2db/0x1160です。修正内容として、io_sendmsg_prep()およびio_recvmsg_prep()の両方で負のsr-len値を早期に拒否する対策を講じました。sqe-lenは__u32型であるため、INT_MAXを超える値はオーバーフローを示し、有効な長さではないと判断しています。
想定される影響と対策
当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
JVN情報 ※( )内はCVSS v2の値
深刻度 7.1
CVECVE-2026-31774
公表日2026/05/01 00:00
登録日2026/05/08 12:24
更新日2026/05/08 12:24
CVSS v3情報
全ての情報を閲覧するにはユーザー登録(無料)またはログインが必要です。