| Title | LinuxのLinux Kernelにおける不特定の脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました。bpf、arm64では、アトミックな破綻を防ぐためにJITバッファの8バイトアラインメントを強制します。struct bpf_pltにはu64型のtargetフィールドが含まれています。現在、BPF JITアロケータはJITバッファに対して4バイト(sizeof(u32))のアラインメントを要求しています。JITバッファの基底アドレスは4バイトアラインメント(例:0x4または0xcで終わる)となることがあり、これによりbuild_plt()内の相対パディングロジックがtargetを8バイト境界に配置できない場合があります。これにより、以下の2つの問題が発生します。1. 構造体を参照するときにUBSANがアライメント違反の警告を報告します。2. より重大な問題として、bpf_arch_text_poke()内でWRITE_ONCE()を介してtargetが同時に更新される一方で、JITされたコードがldr命令を実行します。arm64では64ビットのロード/ストアは64ビット境界にアラインされている場合のみ単一コピーのアトミック性が保証されます。アラインメントがずれたtargetは破損した読み込み(トーン読み込み)を引き起こし、JITが破損したアドレスにジャンプする恐れがあります。この問題はbpf_jit_binary_pack_alloc()における割り当てアラインメント要件を8バイト(sizeof(u64))に引き上げることで修正しました。これによりJITバッファの基底が8バイト境界に固定され、build_plt()内の相対パディング計算によってtargetフィールドを正しくアラインできます。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | March 25, 2026, midnight |
| Registration Date | April 27, 2026, 10:54 a.m. |
| Last Update | April 27, 2026, 10:54 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.0 |
| Linux Kernel 6.0.1 以上 6.12.77 未満 |
| Linux Kernel 6.13 以上 6.18.17 未満 |
| Linux Kernel 6.19 以上 6.19.7 未満 |
| Linux Kernel 7.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年04月27日] 掲載 |
April 27, 2026, 10:54 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: bpf, arm64: Force 8-byte alignment for JIT buffer to prevent atomic tearing struct bpf_plt contains a u64 target field. Currently, the BPF JIT Because the base address of the JIT buffer can be 4-byte aligned (e.g., This leads to two issues: Fix this by increasing the allocation alignment requirement to 8 bytes |
|---|---|
| Summary | En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: bpf, arm64: Forzar alineación de 8 bytes para el búfer JIT para prevenir el desgarro atómico struct bpf_plt contiene un campo objetivo u64. Actualmente, el asignador JIT de BPF solicita una alineación de 4 bytes (sizeof(u32)) para el búfer JIT. Debido a que la dirección base del búfer JIT puede estar alineada a 4 bytes (p. ej., terminando en 0x4 o 0xc), la lógica de relleno relativo en build_plt() no logra asegurar que target caiga en un límite de 8 bytes. Esto lleva a dos problemas: Solucione esto aumentando el requisito de alineación de asignación a 8 bytes (sizeof(u64)) en bpf_jit_binary_pack_alloc(). Esto ancla la base del búfer JIT a un límite de 8 bytes, permitiendo que las matemáticas de relleno relativo en build_plt() alineen correctamente el campo target. |
| Publication Date | March 25, 2026, 8:16 p.m. |
| Registration Date | April 27, 2026, 12:19 p.m. |
| Last Update | April 25, 2026, 3:42 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.0.1 | 6.12.77 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.17 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.7 | |||
| cpe:2.3:o:linux:linux_kernel:6.0:-:*:*:*:*:*:* | |||||
| 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:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:* | |||||