Cloudanix VulnDB

CVE-2026-93112

High · 7.1

CVSS

7.1

EPSS

0.2%

Published

Sep 17, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A kernel bug lets certain local programs write into memory areas that should have been read-only, which can crash the system or change how the CPU scheduler works.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Tampering
Component
OS kernel
Class
Authorization Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The verifier incorrectly accepts const struct cpumask * pointers returned by read-only kfuncs as valid writable destinations for bpf_cpumask_populate(), which internally performs bitmap_copy() and violates intended ownership rules for mutating cpumask operations.

Why it matters to the business

Local processes with BPF privileges can corrupt kernel scheduler data structures, leading to system instability, denial of service, or unauthorized modification of CPU mask state without requiring elevated privileges beyond normal BPF access.

How an attack unfolds

An attacker loads a BPF program that obtains a read-only cpumask via a query kfunc such as scx_bpf_get_online_cpumask(), passes it to bpf_cpumask_populate(), and triggers bitmap_copy() writes into memory the verifier should have treated as immutable, bypassing the intended const protection.

How to fix it

Update the Linux kernel to a version containing the upstream fix that changes the destination parameter of bpf_cpumask_populate() to struct bpf_cpumask *.

How to confirm the fix worked

Confirm the kernel source contains the corrected function signature requiring struct bpf_cpumask * for the destination argument and that the verifier enforces ownership rules for mutating cpumask kfuncs.

Typical attack path

  1. Obtain a read-only cpumask pointer from a query kfunc
  2. Invoke bpf_cpumask_populate() on that pointer
  3. Trigger bitmap_copy() write into protected kernel memory
  4. Observe or induce scheduler or cpumask corruption effects

How to detect it

Review kernel audit logs and BPF verifier logs for programs attempting to pass const cpumask pointers to mutating kfuncs; look for crashes or scheduler anomalies following BPF program loads that reference cpumask operations.

What your security team should do

  • Prioritize kernel upgrades on systems exposing BPF to untrusted local users
  • Audit custom BPF programs that interact with cpumask kfuncs for use of read-only pointers with mutating operations
  • Monitor for local privilege-escalation or stability issues on BPF-enabled workloads until patched

The record

In the Linux kernel, the following vulnerability has been resolved: bpf: Require a BPF cpumask for bpf_cpumask_populate() bpf_cpumask_populate() writes to its destination with bitmap_copy(), but the destination is typed as struct cpumask *. That allows the verifier to accept borrowed cpumask pointers returned by read-only kfuncs, such as scx_bpf_get_online_cpumask(), as a writable destination. Make the destination a struct bpf_cpumask * so populate follows the same ownership rule as the other mutating cpumask kfuncs. Query kfuncs continue to accept const struct cpumask * inputs.

Affected packages

Ecosystem Package Introduced Fixed