CVE-2026-98378

bpf: Skip unsettled links in link iterator

State
Published
Severity
7.8 High
Published
Oct 9, 2026
Updated
Oct 24, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

Description

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 ...

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 9f88361273082825d9f0d13a543d49f9fa0d44a8 to before 68930f8d40ab4c10ca3b019f076136758fd100a8Affected
  • 9f88361273082825d9f0d13a543d49f9fa0d44a8 to before c251ed48bd9063cf7de6049421e78b6de989060fAffected
  • 9f88361273082825d9f0d13a543d49f9fa0d44a8 to before 798a61edbc436cacdb659927d067368eeb1e30e2Affected
  • 9f88361273082825d9f0d13a543d49f9fa0d44a8 to before 6e271f093d15d323f42de26f66556af53fa8e19fAffected
  • 9f88361273082825d9f0d13a543d49f9fa0d44a8 to before 87ce4b53b7436b50fc984f0a6afaf77f68ac5573Affected
  • 9f88361273082825d9f0d13a543d49f9fa0d44a8 to before 50e80e2bb5e2be8515205b9c496b9640ddefa434Affected
LinuxLinux
  • 5.19Affected
  • before 5.19Not affected
  • 6.1.189 through 6.1.*Not affected
  • 6.6.158 through 6.6.*Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.55 through 6.18.*Not affected
  • 7.2.9 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.