Skip to main content
VulnerabilityPublished Updated

CVE-2026-23383: Linux kernel · bpf, arm64: Force 8-byte alignment for JIT buffer to prevent atomic tearing

Source GCVE Database

0
Compare
Authoritative record:CVE-2026-23383· High 7.8

Not known to be exploited · CVSS 7.8 High · fixed in fcb9c6275f712860c22c96a472b73d05cabb75cd : patch Linux kernel soon.

Data as of 30 Oct 2026, 16:33 UTC

CVSS 3.1 base score
7.8High
How severe the flaw is on the 0–10 CVSS scale.

Thin evidence

One scorer or none
CVSS scores by source
CNA (Linux)CVSS 3.17.8
Patch
Available – fixed in fcb9c6275f712860c22c96a472b73d05cabb75cd, f5a41b61b5faae1965a5a2cb55322fe8f17e3b2d, ef06fd16d48704eac868441d98d4ef083d8f3d07 +3
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Mar 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ b2ad54e1533e91449cb2a371e034942bd7882b58, < fcb9c6275f712860c22c96a472b73d05cabb75cd
Fixed in
  • fcb9c6275f712860c22c96a472b73d05cabb75cd
LinuxLinuxAffected
  • ≥ b2ad54e1533e91449cb2a371e034942bd7882b58, < f5a41b61b5faae1965a5a2cb55322fe8f17e3b2d
Fixed in
  • f5a41b61b5faae1965a5a2cb55322fe8f17e3b2d
LinuxLinuxAffected
  • ≥ b2ad54e1533e91449cb2a371e034942bd7882b58, < ef06fd16d48704eac868441d98d4ef083d8f3d07
Fixed in
  • ef06fd16d48704eac868441d98d4ef083d8f3d07
LinuxLinuxAffected
  • ≥ b2ad54e1533e91449cb2a371e034942bd7882b58, < 66959ed481a474eaae278c7f6860a2a9b188a4d6
Fixed in
  • 66959ed481a474eaae278c7f6860a2a9b188a4d6
LinuxLinuxAffected
  • ≥ b2ad54e1533e91449cb2a371e034942bd7882b58, < 519b1ad91de5bf7a496f2b858e9212db6328e1de
Fixed in
  • 519b1ad91de5bf7a496f2b858e9212db6328e1de
LinuxLinuxAffected
  • ≥ b2ad54e1533e91449cb2a371e034942bd7882b58, < 80ad264da02cc4aee718e799c2b79f0f834673dc
Fixed in
  • 80ad264da02cc4aee718e799c2b79f0f834673dc

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.

References

Community reviews

Loading reviews…