In the Linux kernel, the following vulnerability has been resolved: bpf, x86: Fix per-CPU address resolution into an extended register The… (CVE-2026-89581)
A vulnerability in the Linux kernel's BPF implementation on x86 platforms caused incorrect resolution of per-CPU addresses into extended registers. This flaw led to the use of wrong registers during per-CPU address MOV instructions, resulting in kernel faults and potential panics when dereferencing invalid pointers. The issue was triggered by a mismatch in how the REX prefix bits were set, causing the destination register to be incorrectly identified. The problem was mainly observed when using GCC for BPF programs, which keeps multiple per-CPU addresses live simultaneously, unlike clang. This vulnerability has been resolved by correcting the instruction encoding to properly handle extended registers.
AI Analysis
Technical Summary
The Linux kernel's BPF subsystem on x86 platforms had a vulnerability where the per-CPU address MOV instruction's destination register was incorrectly resolved due to improper handling of the REX prefix bits. Specifically, the REX.B bit was set instead of REX.R, causing the high register bit to be lost and the destination register to alias an incorrect low register. This led to kernel panics when the kernel attempted to dereference pointers that were never properly made per-CPU. The issue was particularly evident with BPF programs compiled with GCC, which maintain multiple per-CPU addresses live, unlike clang which reloads addresses into R1 before each access. The fix involved using add_2mod() to correctly set REX.R, aligning with how other instructions encode extended registers.
Potential Impact
The vulnerability can cause kernel panics due to invalid pointer dereferences when BPF programs access per-CPU data using extended registers incorrectly resolved. This can lead to system instability and crashes. The impact is limited to BPF programs compiled with GCC that keep multiple per-CPU addresses live, as clang-based programs do not trigger this issue. There is no indication of remote exploitation or data leakage; the primary impact is local kernel stability.
Mitigation Recommendations
A fix has been implemented in the Linux kernel source to correct the instruction encoding for per-CPU address MOV instructions by properly setting the REX.R bit instead of REX.B. Users should update to the fixed kernel version once available. No additional mitigation is indicated. Patch status is not explicitly confirmed in the provided data; check the vendor advisory or Linux kernel mailing lists for the official fix and updated kernel versions.
In the Linux kernel, the following vulnerability has been resolved: bpf, x86: Fix per-CPU address resolution into an extended register The… (CVE-2026-89581)
Description
A vulnerability in the Linux kernel's BPF implementation on x86 platforms caused incorrect resolution of per-CPU addresses into extended registers. This flaw led to the use of wrong registers during per-CPU address MOV instructions, resulting in kernel faults and potential panics when dereferencing invalid pointers. The issue was triggered by a mismatch in how the REX prefix bits were set, causing the destination register to be incorrectly identified. The problem was mainly observed when using GCC for BPF programs, which keeps multiple per-CPU addresses live simultaneously, unlike clang. This vulnerability has been resolved by correcting the instruction encoding to properly handle extended registers.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel's BPF subsystem on x86 platforms had a vulnerability where the per-CPU address MOV instruction's destination register was incorrectly resolved due to improper handling of the REX prefix bits. Specifically, the REX.B bit was set instead of REX.R, causing the high register bit to be lost and the destination register to alias an incorrect low register. This led to kernel panics when the kernel attempted to dereference pointers that were never properly made per-CPU. The issue was particularly evident with BPF programs compiled with GCC, which maintain multiple per-CPU addresses live, unlike clang which reloads addresses into R1 before each access. The fix involved using add_2mod() to correctly set REX.R, aligning with how other instructions encode extended registers.
Potential Impact
The vulnerability can cause kernel panics due to invalid pointer dereferences when BPF programs access per-CPU data using extended registers incorrectly resolved. This can lead to system instability and crashes. The impact is limited to BPF programs compiled with GCC that keep multiple per-CPU addresses live, as clang-based programs do not trigger this issue. There is no indication of remote exploitation or data leakage; the primary impact is local kernel stability.
Mitigation Recommendations
A fix has been implemented in the Linux kernel source to correct the instruction encoding for per-CPU address MOV instructions by properly setting the REX.R bit instead of REX.B. Users should update to the fixed kernel version once available. No additional mitigation is indicated. Patch status is not explicitly confirmed in the provided data; check the vendor advisory or Linux kernel mailing lists for the official fix and updated kernel versions.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-vx2x-82ww-5r7r
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-89581"]
Threat ID: 6aa4a00b55bf5e2cf5a8666f
Added to database: 09/12/2026, 00:42:51 UTC
Last enriched: 09/12/2026, 01:02:25 UTC
Last updated: 09/12/2026, 01:02:25 UTC
Views: 2
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.