CVE-2026-23383

HIGH EPSS 2.9%
Published Mar 25, 20263mo ago · Modified Jun 17, 20261w ago
7.8 CVSS 3.1
High
Find Similar
Published Mar 25, 2026 3mo ago
Last Modified Jun 17, 2026 1w ago

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 Details

Base Score
7.8
Exploitability
1.8
Impact
5.9
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High

Threat Intelligence

EPSS Exploit Probability
2.9% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Affected Products 11

VendorProductVersionRange
linuxlinux_kernel*≥6.0.1  –  <6.12.77
linuxlinux_kernel*≥6.13  –  <6.18.17
linuxlinux_kernel*≥6.19  –  <6.19.7
linuxlinux_kernel6.0any
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any

References 4

  • git.kernel.org https://git.kernel.org/stable/c/519b1ad91de5bf7a496f2b858e9212db6328e1de
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/66959ed481a474eaae278c7f6860a2a9b188a4d6
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/80ad264da02cc4aee718e799c2b79f0f834673dc
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/ef06fd16d48704eac868441d98d4ef083d8f3d07
    Patch

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/519b1ad91de5bf7a496f2b858e9212db6328e1de
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/66959ed481a474eaae278c7f6860a2a9b188a4d6
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/80ad264da02cc4aee718e799c2b79f0f834673dc
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/ef06fd16d48704eac868441d98d4ef083d8f3d07
    Patch