CVE-2026-23383
Received Received - Intake
Misaligned Access Vulnerability in Linux BPF JIT on ARM

Publication date: 2026-03-25

Last updated on: 2026-04-24

Assigner: kernel.org

Description
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 allocator requests an alignment of 4 bytes (sizeof(u32)) for the JIT buffer. Because the base address of the JIT buffer can be 4-byte aligned (e.g., ending in 0x4 or 0xc), the relative padding logic in build_plt() fails to ensure that target lands on an 8-byte boundary. This leads to two issues: 1. UBSAN reports misaligned-access warnings when dereferencing the structure. 2. More critically, target is updated concurrently via WRITE_ONCE() in bpf_arch_text_poke() while the JIT'd code executes ldr. On arm64, 64-bit loads/stores are only guaranteed to be single-copy atomic if they are 64-bit aligned. A misaligned target risks a torn read, causing the JIT to jump to a corrupted address. Fix this by increasing the allocation alignment requirement to 8 bytes (sizeof(u64)) in bpf_jit_binary_pack_alloc(). This anchors the base of the JIT buffer to an 8-byte boundary, allowing the relative padding math in build_plt() to correctly align the target field.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-25
Last Modified
2026-04-24
Generated
2026-05-07
AI Q&A
2026-03-25
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 11 associated CPEs
Vendor Product Version / Range
linux linux_kernel 6.0
linux linux_kernel From 6.19 (inc) to 6.19.7 (exc)
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel 7.0
linux linux_kernel From 6.13 (inc) to 6.18.17 (exc)
linux linux_kernel From 6.0.1 (inc) to 6.12.77 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's BPF JIT (Just-In-Time) compiler for the arm64 architecture. The issue arises because the JIT buffer is only aligned to 4 bytes, but it contains a 64-bit (8-byte) target field that requires 8-byte alignment.

Due to the 4-byte alignment, the target field can be misaligned, which causes two problems: first, misaligned-access warnings are reported by UBSAN (Undefined Behavior Sanitizer); second, and more importantly, on arm64, 64-bit loads and stores are only guaranteed to be atomic if they are 8-byte aligned. Misalignment risks a torn read, meaning the JIT could jump to a corrupted address during execution.

The fix involves increasing the alignment of the JIT buffer allocation to 8 bytes, ensuring the target field is properly aligned and preventing these issues.


How can this vulnerability impact me? :

This vulnerability can cause the JIT-compiled code in the Linux kernel to jump to corrupted or incorrect memory addresses due to torn reads of a misaligned 64-bit target field.

Such behavior can lead to unpredictable kernel behavior, potential crashes, or security issues such as code execution errors or denial of service.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability relates to misaligned 8-byte accesses in the BPF JIT buffer on arm64 Linux kernels, which can cause torn reads and corrupted jumps.

Detection would involve checking the kernel version or patches applied to ensure the alignment fix is present, as well as monitoring for UBSAN misaligned-access warnings in kernel logs.

There are no specific commands provided to detect this vulnerability directly on a system or network.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability is fixed by increasing the JIT buffer allocation alignment to 8 bytes in the Linux kernel.

Immediate mitigation steps include updating the Linux kernel to a version that contains this fix.

No other specific mitigation steps or workarounds are provided.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart