| Title | LinuxのLinux Kernelにおける不特定の脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました。bpf: 原子フェッチ精度追跡による不正な剪定の修正。backtrack_insnがBPF_STX命令でBPF_ATOMICおよびBPF_FETCHを検出した際、srcレジスタ(またはBPF_CMPXCHGの場合はr0)が宛先としても機能し、メモリ位置から古い値を受け取ります。現在のバックトラッキングロジックはこれを考慮しておらず、srcレジスタを入力のみとみなし、通常のストアと同じに扱っていました。これによりbacktrack_insnはスタック位置に精度を伝播できず、その位置を正確とマークできませんでした。この問題により、後の検証者のパス剪定処理ではスタック状態が異なるにもかかわらず2つの状態を同一視してしまう可能性がありました。つまり、本来区別されるべき2つの分岐が同一と見なされ剪定されてしまいます。修正内容は以下の通りです。backtrack_insn内のBPF_LDX処理を拡張し、is_atomic_fetch_insn()ヘルパーを使って原子フェッチ命令も扱うようにしました。フェッチ先のレジスタが精度追跡中の場合、それをクリアし、精度をスタックスロットへ伝播させます。スタック以外のメモリでは通常のBPF_LDXと同様に原子命令によって精度追跡を停止します。これにより全てのフェッチ変種をカバーしています。修正前と修正後のコード例も示されています。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | May 1, 2026, midnight |
| Registration Date | May 11, 2026, 10:57 a.m. |
| Last Update | May 11, 2026, 10:57 a.m. |
| CVSS3.0 : 重要 | |
| Score | 7.8 |
|---|---|
| Vector | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 5.12 以上 6.19.12 未満 |
| Linux Kernel 7.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月11日] 掲載 |
May 11, 2026, 10:57 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: bpf: Fix incorrect pruning due to atomic fetch precision tracking When backtrack_insn encounters a BPF_STX instruction with BPF_ATOMIC The current backtracking logic does not account for this. It treats Later, the verifier's path pruning can incorrectly consider two states Fix it as follows: Extend the BPF_LDX handling in backtrack_insn to Before: 0: (b7) r1 = 8 ; R1=8 After: 0: (b7) r1 = 8 ; R1=8 |
|---|---|
| Publication Date | May 2, 2026, 12:16 a.m. |
| Registration Date | May 2, 2026, 4:07 a.m. |
| Last Update | May 8, 2026, 5:25 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.12 | 6.19.12 | |||
| cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* | |||||