JVNDB-2026-023978
|
LinuxのLinux Kernelにおける境界条件の判定に関する脆弱性
|
Linuxカーネルにおいて、以下の脆弱性が修正されました:bpf、arm64のcheck_immの符号付き範囲チェックにおけるオフ・バイ・ワンの修正。check_imm(bits, imm)はarm64のBPF JITで使用されており、分岐の変位(arm64命令単位)がB、B.cond、もしくはCBZ/CBNZのエンコーディングにおける符号付きNビット即値フィールドに収まるかを、エンコーダに渡す前に検証します。現在のマクロは「(imm > 0 && imm >> bits) || (imm < 0 && ~imm >> bits)」という条件でチェックしており、[-2^N, 2^N)の値を許容しています。これは実質的に符号付き(N+1)ビットの範囲を表しています。一方、符号付きNビットのフィールドは[-2^{N-1}, 2^{N-1})の範囲のみを保持できるため、チェックは各側で1ビット多い範囲を許容していました。特にcheck_imm19()では[2^{18}, 2^{19})の値がチェックを通過しますが、19ビット符号付きimm19フィールドに収まらず、aarch64_insn_encode_immediate()が生の値を19ビットフィールドにマスクする際にビット18(符号ビット)が設定され、正の分岐が逆方向の分岐に変わってしまいます。同様の問題はcheck_imm26()およびB/BLのエンコーディングにも存在していました。正しい符号付きNビットの範囲を強制するために、bitsではなく(bits - 1)でシフトするように修正されました。
|
CVSS v3 による深刻度 基本値: 7.8 (重要) [その他]
- 攻撃元区分: ローカル
- 攻撃条件の複雑さ: 低
- 攻撃に必要な特権レベル: 低
- 利用者の関与: 不要
- 影響の想定範囲: 変更なし
- 機密性への影響(C): 高
- 完全性への影響(I): 高
- 可用性への影響(A): 高
|
|
Linux
- Linux Kernel 3.18 以上 6.1.175 未満
- Linux Kernel 6.13 以上 6.18.33 未満
- Linux Kernel 6.19 以上 7.0.10 未満
- Linux Kernel 6.2 以上 6.6.141 未満
- Linux Kernel 6.7 以上 6.12.91 未満
|
|
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
|
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
|
|
- 境界条件の判定(CWE-193) [NVD評価]
|
- CVE-2026-53036
|
- National Vulnerability Database (NVD) : CVE-2026-53036
- 関連文書 : bpf, arm64: Fix off-by-one in check_imm signed range check - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1dd8be4ec722ce54e4cace59f3a4ba658111b3ec)
- 関連文書 : bpf, arm64: Fix off-by-one in check_imm signed range check - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a5dfeb3b61065039488342d43ae06d4729d955d4)
- 関連文書 : bpf, arm64: Fix off-by-one in check_imm signed range check - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/6927f0d6794aa73318bbfa929f1ff6065b0620df)
- 関連文書 : bpf, arm64: Fix off-by-one in check_imm signed range check - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/7fd3b41260c6120e7b60164afea5d961af6224f9)
- 関連文書 : bpf, arm64: Fix off-by-one in check_imm signed range check - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1a113b5497297871699cd498b1b83542e0db7f15)
- 関連文書 : bpf, arm64: Fix off-by-one in check_imm signed range check - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/fb74defa1cca1a73177c0c761e641332e4f979a3)
|
|