Cloudanix VulnDB

CVE-2026-98378

None

CVSS

—

EPSS

0.2%

Published

Oct 9, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel's handling of certain internal tracking structures can cause crashes or memory errors when programs interact with BPF features.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in the BPF link iterator when bpf_link_get_curr_or_next() takes a reference on an ID-zero unsettled link that is concurrently freed after anon_inode_getfile() failure in bpf_link_prime().

Why it matters to the business

Kernel panic or memory corruption on Linux systems performing BPF operations, leading to denial of service or potential local privilege escalation; low exploitability reduces immediate risk but still requires prompt patching on affected kernels.

How an attack unfolds

An attacker with local access creates a BPF link that fails during anon_inode_getfile(), causing direct free of the unsettled link, while a concurrent iterator holds a dangling reference; subsequent bpf_link_put() in the iterator triggers slab-use-after-free and potential KASAN-detected panic.

How to fix it

Upgrade to a kernel containing the fix for bpf_link_get_curr_or_next() to skip ID-zero entries; apply the patch that treats unsettled links as transient identically to bpf_link_by_id().

How to confirm the fix worked

Confirm kernel version includes the bpf_link_seq_next and bpf_link_get_curr_or_next changes; run syzkaller or targeted BPF link iterator stress tests to verify absence of UAF reports.

Typical attack path

  1. Obtain local code execution on target Linux kernel
  2. Trigger concurrent BPF link creation that fails before settling
  3. Perform BPF link iteration via bpf_seq_read or similar
  4. Cause bpf_link_put on the freed object to trigger UAF

How to detect it

Search kernel logs for KASAN slab-use-after-free reports mentioning bpf_link_put or bpf_link_seq_next; inspect audit logs for unusual BPF syscall sequences around link creation and iteration.

What your security team should do

  • Prioritize kernel updates on all production Linux systems within 30 days
  • Monitor for local BPF-related crashes in logs
  • Restrict unprivileged BPF access via sysctl where possible until patched

The record

In the Linux kernel, the following vulnerability has been resolved: bpf: Skip unsettled links in link iterator bpf_link_prime() inserts a link into link_idr before anon_inode_getfile() succeeds and before bpf_link_settle() publishes the ID in link->id. bpf_link_by_id() treats such an ID-zero link as unsettled, but the link iterator takes a reference without this check. If anon_inode_getfile() then fails, the creator removes the ID and frees its still-private link directly. The iterator is left with a dangling reference and its next bpf_link_put() accesses freed memory. Treat ID-zero entries as transient in bpf_link_get_curr_or_next(), just as bpf_link_by_id() does. BUG: KASAN: slab-use-after-free in bpf_link_put Write of size 8 by task exp/384 Call Trace: bpf_link_put kernel/bpf/syscall.c:3372 bpf_link_seq_next kernel/bpf/link_iter.c:33 bpf_seq_read kernel/bpf/bpf_iter.c:158 vfs_read fs/read_write.c:572 ksys_read fs/read_write.c:716 do_syscall_64 arch/x86/entry/syscall_64.c:84 entry_SYSCALL_64_after_hwframe arch/x86/entry/entry_64.S:121 Kernel panic - not syncing: KASAN: panic_on_warn set ...

Affected packages

Ecosystem Package Introduced Fixed