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

bpf: Preserve inner map identity in callback frames

Callback frame constructors initialize map-typed argument registers with
__mark_reg_known_zero() and then restore map_ptr. This clears map_uid,
which is the only field distinguishing inner maps that share an
inner_map_meta template.

When a timer callback invokes bpf_for_each_map_elem() on a second inner
map, both the saved first map and the second map value can reach the nested
callback as the same template with map_uid zero. bpf_timer_init() then
accepts pairing the timer from the second map with the first map.

The runtime records the first map in the timer without taking a reference.
Freeing that map does not find the timer stored in the second map, so a
later timer callback dereferences the freed map.

Copy map_uid from the same caller register as map_ptr when constructing
for-each, timer/workqueue, and task-work callback arguments. The existing
identity check can then reject mismatched inner maps while allowing a
callback value to be paired with its actual map.
Published: 2026-09-25
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: Use-After-Free
Action: Patch
AI Analysis

Impact

The Linux kernel BPF subsystem contains a flaw where callback frame constructors clear the map_uid field of inner maps, causing distinct inner map templates to appear identical. This behavior leads to timers associated with a second inner map being improperly paired with a first map that has already been freed. The result is a use‑after‑free that could corrupt kernel memory or cause a crash. The weakness corresponds to CWE‑825, which concerns heap or memory corruption due to incorrect reference counting or pointer handling.

Affected Systems

Any Linux system running a kernel that has not yet incorporated the patch for "bpf: Preserve inner map identity in callback frames" is potentially affected. All distributions shipping kernels with the original BPF callback logic are at risk. The advisory does not specify particular kernel releases, so administrators should confirm whether their running kernel contains the unpatched code. The affected product is the Linux kernel in general, with absence of version details in the advisory.

Risk and Exploitability

The CVSS score of 7.0 indicates high severity, while the EPSS score of less than 1% suggests a low probability of exploitation at this time. The vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is local access to load a malicious BPF program or otherwise invoke the vulnerable BPF logic; this inference is based on the description of timer callbacks and BPF program execution. An attacker with such access could trigger the use‑after‑free, potentially leading to kernel memory corruption, a crash, or privilege escalation. No publicly available exploitation code has been documented, but the low EPSS score does not preclude future development of an exploit.

Generated by OpenCVE AI on September 30, 2026 at 14:30 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a Linux kernel update that incorporates the "bpf: Preserve inner map identity in callback frames" fix.
  • Until the patch is applied, disable or restrict BPF timer callbacks and limit the creation of inner BPF maps as a temporary workaround.
  • Review system logs for BPF-related errors or abnormal kernel memory accesses and investigate anomalies promptly.

Generated by OpenCVE AI on September 30, 2026 at 14:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 15 Oct 2026 13:30:00 +0000


Tue, 29 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate


Fri, 25 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: bpf: Preserve inner map identity in callback frames Callback frame constructors initialize map-typed argument registers with __mark_reg_known_zero() and then restore map_ptr. This clears map_uid, which is the only field distinguishing inner maps that share an inner_map_meta template. When a timer callback invokes bpf_for_each_map_elem() on a second inner map, both the saved first map and the second map value can reach the nested callback as the same template with map_uid zero. bpf_timer_init() then accepts pairing the timer from the second map with the first map. The runtime records the first map in the timer without taking a reference. Freeing that map does not find the timer stored in the second map, so a later timer callback dereferences the freed map. Copy map_uid from the same caller register as map_ptr when constructing for-each, timer/workqueue, and task-work callback arguments. The existing identity check can then reject mismatched inner maps while allowing a callback value to be paired with its actual map.
Title bpf: Preserve inner map identity in callback frames
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-15T10:12:03.159Z

Reserved: 2026-09-25T10:19:56.070Z

Link: CVE-2026-98033

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:32.003

Modified: 2026-10-15T11:18:10.067

Link: CVE-2026-98033

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-98033 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T14:30:18Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference