CVE-2026-89984

CVE-2026-89984

published September 16, 2026

CVSS
—
EPSS
0%
Percentile
10.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

perf/x86/intel: Fix kernel address leakages in LBR stack

Before Arch LBR gained CPL filtering support, a user-only branch stack

could still contain kernel addresses. As a result, kernel branch records

may be exposed to user space even when PERF_SAMPLE_BRANCH_USER is

requested.

For example, on Intel Tiger Lake, the following command can still report

SYSRET/ERET entries with kernel-space from addresses:

$ ./perf record -e cycles:p -o - --branch-filter any,save_type,u -- \

./perf bench syscall basic --loop 1000 | \

./perf script -i - --fields brstack|tr ' ' '\n'| \

grep -E '0x[89a-f][0-9a-f]{15}'

Total time: 0.000 [sec]

0.219000 usecs/op

4,566,210 ops/sec

[ perf record: Woken up 1 times to write data ]

[ perf record: Captured and wrote 0.551 MB - ]

0xffffffff93c001c8/0x7f12a2b1d647/P/-/-/16959/SYSRET/-

0xffffffff93c001c8/0x7f12a2b1d5c2/P/-/-/17535/SYSRET/-

0xffffffff93c01928/0x7f12a2861000/P/-/-/6719/ERET/-

0xffffffff93c01928/0x7f12a297a000/P/-/-/8575/ERET/-

The problem is that intel_pmu_lbr_filter() does not fully validate the

privilege level of sampled entries. It filters some mismatches based on

the branch type and the to address, but it does not reject entries whose

from address violates the requested branch privilege filter.

Fix this by extending software filtering to validate both from and to

addresses against br_sel. Any LBR entry contains kernel address does not

match the requested user filter is dropped. This prevents kernel

addresses from appearing in user-only branch stacks.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00211 · 10.7th percentile
Published
2026-09-16T15:17Z
References (8)
EPSS history
Timeline
  • 18 SEP 04:02Z
    EPSS moved — → 0%
    epss
  • 16 SEP 10:33Z
    perf/x86/intel: Fix kernel address leakages in LBR stack
    cvelistv5