Cloudanix VulnDB

CVE-2026-93144

High · 7.8

CVSS

7.8

EPSS

0.2%

Published

Sep 17, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in the Linux kernel could let a logged-in user on the computer improperly change protected internal data that should only be readable.

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

What it actually does

The flaw allows non-read accesses through PTR_UNTRUSTED BTF pointers created by helpers such as bpf_rdonly_cast(), bypassing the default read-only policy enforced by the BTF access path.

Why it matters to the business

Local users on affected Linux systems could gain unauthorized write access to kernel structures, leading to potential privilege escalation, data corruption, or system instability.

How an attack unfolds

An attacker with local access loads a BPF program that obtains an untrusted BTF pointer via bpf_rdonly_cast() and then performs writes through it; the check_ptr_to_btf_access() callback incorrectly validates the write before the common rejection logic runs.

How to fix it

Apply the upstream kernel patch that rejects non-read accesses through PTR_UNTRUSTED BTF pointers at the common entry point before any callback branch.

How to confirm the fix worked

Verify the presence of the fix by inspecting the kernel source for the updated check_ptr_to_btf_access() logic or by testing that writes through untrusted BTF pointers are rejected.

Typical attack path

  1. Obtain local user access on a Linux system
  2. Craft and load a BPF program using bpf_rdonly_cast() to create a PTR_UNTRUSTED pointer
  3. Issue a write operation through that pointer inside a program-type btf_struct_access callback
  4. Bypass the read-only check and modify kernel memory

How to detect it

Review kernel audit logs and BPF verifier output for unexpected write attempts through BTF pointers; examine system call traces involving bpf() with map or program types that use BTF casting.

What your security team should do

  • Prioritize kernel updates on systems that heavily use BPF programs
  • Restrict unprivileged BPF loading via sysctl until patched
  • Monitor for local privilege-escalation attempts involving BPF

The record

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject writes through untrusted BTF pointers check_ptr_to_btf_access() lets program-type btf_struct_access callbacks validate writes before the default BTF access path rejects non-read accesses. That bypasses the read-only policy for untrusted BTF pointers created by helpers such as bpf_rdonly_cast(). Reject non-read accesses through PTR_UNTRUSTED BTF pointers at the common entry point, before the callback branch to handle all cases.

Affected packages

Ecosystem Package Introduced Fixed