製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける不特定の脆弱性
Title LinuxのLinux Kernelにおける不特定の脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。io_uringのSQE_MIXEDにおける128バイト操作に対する物理SQE境界チェックの問題です。IORING_SETUP_SQE_MIXEDがIORING_SETUP_NO_SQARRAYなしで使用される場合、io_init_req()内の128バイトSQE操作の境界チェックは物理的なSQEインデックスではなく論理的なSQヘッド位置を検証していました。既存のチェックである !(ctx-cached_sq_head & (ctx-sq_entries - 1)) は、論理的位置がリングの末尾にないことを保証しており、これは物理と論理が同一のNO_SQARRAYリングでは正しい動作です。しかし、sq_arrayが存在する場合、非特権ユーザは任意の論理位置をsq_arrayを介して任意の物理インデックスに再マップできます。sq_array[N]をsq_entries - 1に設定すると、128バイト操作が最後の物理SQEスロットに配置され、io_uring_cmd_sqe_copy()内での128バイトのmemcpyがSQE配列の末尾を64バイト超えて読み取ってしまいます。そこで、cached_sq_headのアライメントチェックを物理的SQEインデックスの直接検証に置き換え、sq_arrayとNO_SQARRAYの両方の場合を正しく処理するように修正しました。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date May 8, 2026, midnight
Registration Date May 25, 2026, 10:21 a.m.
Last Update May 25, 2026, 10:21 a.m.
CVSS3.0 : 重要
Score 7.1
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Affected System
Linux
Linux Kernel 6.19 以上 6.19.9 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月25日]
  掲載
May 25, 2026, 10:21 a.m.

NVD Vulnerability Information
CVE-2026-43442
Summary

In the Linux kernel, the following vulnerability has been resolved:

io_uring: fix physical SQE bounds check for SQE_MIXED 128-byte ops

When IORING_SETUP_SQE_MIXED is used without IORING_SETUP_NO_SQARRAY,
the boundary check for 128-byte SQE operations in io_init_req()
validated the logical SQ head position rather than the physical SQE
index.

The existing check:

!(ctx->cached_sq_head & (ctx->sq_entries - 1))

ensures the logical position isn't at the end of the ring, which is
correct for NO_SQARRAY rings where physical == logical. However, when
sq_array is present, an unprivileged user can remap any logical
position to an arbitrary physical index via sq_array. Setting
sq_array[N] = sq_entries - 1 places a 128-byte operation at the last
physical SQE slot, causing the 128-byte memcpy in
io_uring_cmd_sqe_copy() to read 64 bytes past the end of the SQE
array.

Replace the cached_sq_head alignment check with a direct validation
of the physical SQE index, which correctly handles both sq_array and
NO_SQARRAY cases.

Publication Date May 9, 2026, 12:16 a.m.
Registration Date May 9, 2026, 4:15 a.m.
Last Update May 12, 2026, 11:10 p.m.
Related information, measures and tools
Common Vulnerabilities List