Linux Kernel up to 7.3-rc4 Link Iterator kernel/bpf/syscall.c bpf_link_put use after free

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 8.4 | $0-$5k | 2.22 |
Summary
A vulnerability was found in Linux Kernel up to 7.3-rc4. It has been rated as very critical. The affected element is the function bpf_link_put of the file kernel/bpf/syscall.c of the component Link Iterator. The manipulation leads to use after free.
This vulnerability is documented as CVE-2026-98378. The attack needs to be performed locally. There is not any exploit available.
Upgrading the affected component is advised.
Details
A vulnerability was found in Linux Kernel up to 7.3-rc4 and classified as very critical. This issue affects the function bpf_link_put of the file kernel/bpf/syscall.c of the component Link Iterator. The manipulation with an unknown input leads to a use after free vulnerability. Using CWE to declare the problem leads to CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. Impacted is confidentiality, integrity, and availability. The summary by CVE is:
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 ...
It is possible to read the advisory at git.kernel.org. The identification of this vulnerability is CVE-2026-98378 since 09/25/2026. The exploitation is known to be easy. Attacking locally is a requirement. Technical details of the vulnerability are known, but there is no available exploit. The pricing for an exploit might be around USD $0-$5k at the moment (estimation calculated on 10/09/2026).
Upgrading to version 6.1.189, 6.6.158, 6.12.112, 6.18.55, 7.2.9 or 7.3-rc5 eliminates this vulnerability. Applying the patch 68930f8d40ab4c10ca3b019f076136758fd100a8/c251ed48bd9063cf7de6049421e78b6de989060f/798a61edbc436cacdb659927d067368eeb1e30e2/6e271f093d15d323f42de26f66556af53fa8e19f/87ce4b53b7436b50fc984f0a6afaf77f68ac5573/50e80e2bb5e2be8515205b9c496b9640ddefa434 is able to eliminate this problem. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the vulnerability database at EUVD (EUVD-2026-95533). Be aware that VulDB is the high quality source for vulnerability data.
Product
Type
Vendor
Name
Version
- 6.1.188
- 6.6.157
- 6.12.111
- 6.18.0
- 6.18.1
- 6.18.2
- 6.18.3
- 6.18.4
- 6.18.5
- 6.18.6
- 6.18.7
- 6.18.8
- 6.18.9
- 6.18.10
- 6.18.11
- 6.18.12
- 6.18.13
- 6.18.14
- 6.18.15
- 6.18.16
- 6.18.17
- 6.18.18
- 6.18.19
- 6.18.20
- 6.18.21
- 6.18.22
- 6.18.23
- 6.18.24
- 6.18.25
- 6.18.26
- 6.18.27
- 6.18.28
- 6.18.29
- 6.18.30
- 6.18.31
- 6.18.32
- 6.18.33
- 6.18.34
- 6.18.35
- 6.18.36
- 6.18.37
- 6.18.38
- 6.18.39
- 6.18.40
- 6.18.41
- 6.18.42
- 6.18.43
- 6.18.44
- 6.18.45
- 6.18.46
- 6.18.47
- 6.18.48
- 6.18.49
- 6.18.50
- 6.18.51
- 6.18.52
- 6.18.53
- 6.18.54
- 7.2.0
- 7.2.1
- 7.2.2
- 7.2.3
- 7.2.4
- 7.2.5
- 7.2.6
- 7.2.7
- 7.2.8
- 7.3-rc1
- 7.3-rc2
- 7.3-rc3
- 7.3-rc4
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.8VulDB Meta Temp Score: 8.4
VulDB Base Score: 8.8
VulDB Temp Score: 8.4
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Use after freeCWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physical: Partially
Local: Yes
Remote: No
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 6.1.189/6.6.158/6.12.112/6.18.55/7.2.9/7.3-rc5
Patch: 68930f8d40ab4c10ca3b019f076136758fd100a8/c251ed48bd9063cf7de6049421e78b6de989060f/798a61edbc436cacdb659927d067368eeb1e30e2/6e271f093d15d323f42de26f66556af53fa8e19f/87ce4b53b7436b50fc984f0a6afaf77f68ac5573/50e80e2bb5e2be8515205b9c496b9640ddefa434
Timeline
09/25/2026 CVE reserved10/09/2026 Advisory disclosed
10/09/2026 VulDB entry created
10/09/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2026-98378 (🔒)
GCVE (CVE): GCVE-0-2026-98378
GCVE (VulDB): GCVE-100-415751
EUVD: 🔒
Entry
Created: 10/09/2026 10:03Updated: 10/09/2026 11:52
Changes: 10/09/2026 10:03 (22), 10/09/2026 10:04 (38), 10/09/2026 11:52 (1)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.