Database/Kernel, userspace & hypervisor
Linux kernel arm64 BPF JIT: misaligned PLT target can tear under concurrent text poke
Impact
The JIT buffer was allocated with 4-byte alignment, so the u64 target field in struct bpf_plt can land off an 8-byte boundary. On arm64 a 64-bit load is only single-copy atomic when 64-bit aligned, so a WRITE_ONCE from bpf_arch_text_poke concurrent with JIT'd code executing the ldr can be read torn, sending the JIT to a corrupted address. On arm64 GPU hosts - Grace Hopper, GB200, Ampere-based nodes - BPF is in the hot path of the CNI, of security agents and of fleet observability, and trampoline patching happens whenever those attach or detach. The realistic outcome is a kernel panic on a node holding running training jobs, not a clean fault.
Who can reach it
Local, arm64 only. Requires the ability to load and attach BPF programs, i.e. CAP_BPF/CAP_SYS_ADMIN on the host, or an unprivileged-BPF configuration. A tenant pod without those capabilities cannot reach it; the common trigger is ordinary privileged agent churn rather than an attacker.
What to do
Take a stable kernel carrying the listed commits. The fix is in the JIT allocator, so it cannot be applied to a running kernel by reloading a module: drain the node and reboot it, or apply a vendor livepatch if one covers this commit. No mitigation short of not running BPF text-poking agents on arm64 nodes.
References
Related entries
- Linux kernel (drivers/iommu): Unbinding shared virtual addressing touches the mm's IOMMU state after the domain-freeCVE-2026-23429 · Linux kernel (drivers/iommu)High
- Linux kernel NFSD: reads on an open /proc/fs/nfs/exports fd walk a freed export cache after netns teardownCVE-2026-31403 · Linux kernel NFSD (/proc/fs/nfs/exports namespace reference)High
- Linux kernel (net/xfrm): Flushing xfrm states during namespace cleanup re-arms the NAT-keepalive delayed work after itCVE-2026-31406 · Linux kernel (net/xfrm)High
- Linux kernel (crypto algif_aead): Incorrect resource transfer between spheres in algif_aead (reverted to out-of-placeCVE-2026-31431 · Linux kernel (crypto algif_aead)High
- Linux kernel idxd: stale saved-config pointer after a failed second FLR allows invalid memory accessCVE-2026-31442 · Linux kernel dmaengine idxd (saved-config scratch area after FLR)High
- Linux kernel (drivers/vfio/pci): The error path of the vfio-pci dma-buf export falls through the whole unwind chainCVE-2026-31468 · Linux kernel (drivers/vfio/pci)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.