| Title | LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました:bpfにおけるINT_MINに対するインタプリタのsdiv/smodの未定義動作を修正しました。BPFインタプリタの符号付き32ビット除算および剰余の処理では、s32オペランドに対してカーネルのabs()マクロを使用しています。abs()マクロのドキュメント(include/linux/math.h)には、入力が型の最小値の場合、結果が未定義であると明記されています。DSTがS32_MIN(0x80000000)を含む場合、abs((s32)DST)は未定義動作を引き起こし、arm64/x86上でS32_MINをそのまま返します。この値はその後符号拡張されてu64の0xFFFFFFFF80000000となり、do_div()で誤った結果を算出します。検証器の抽象解釈(scalar32_min_max_sdiv)は範囲追跡のために数学的に正しい結果を計算しており、これが検証器とインタプリタ間の不一致を生み、境界外のマップ値アクセスが悪用される可能性があります。abs_s32()を導入し、符号付きオーバーフローを完全に回避するために、S32_MINを符号なしのu32にキャストしてから符号反転を行う形で正しく処理します。インタプリタのsdiv32/smod32ハンドラ内のabs((s32)...)の呼び出し箇所8か所をすべて置き換えています。s32のみが影響を受け、s64の除算/剰余ハンドラではabs()を使用していません。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | April 22, 2026, midnight |
| Registration Date | April 30, 2026, 11:06 a.m. |
| Last Update | April 30, 2026, 11:06 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 6.13 以上 6.18.21 未満 |
| Linux Kernel 6.19 以上 6.19.11 未満 |
| Linux Kernel 6.6 以上 6.6.131 未満 |
| Linux Kernel 6.7 以上 6.12.80 未満 |
| Linux Kernel 7.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年04月30日] 掲載 |
April 30, 2026, 11:06 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: bpf: Fix undefined behavior in interpreter sdiv/smod for INT_MIN The BPF interpreter's signed 32-bit division and modulo handlers use The verifier's abstract interpretation (scalar32_min_max_sdiv) computes Introduce abs_s32() which handles S32_MIN correctly by casting to u32 s32 is the only affected case -- the s64 division/modulo handlers do |
|---|---|
| Publication Date | April 22, 2026, 11:16 p.m. |
| Registration Date | April 25, 2026, 4:05 a.m. |
| Last Update | April 29, 2026, 3:06 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.6 | 6.6.131 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 | 6.12.80 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.21 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.11 | |||
| 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:*:*:*:*:*:* | |||||