Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-43009— bpf: Fix incorrect pruning due to atomic fetch precision tracking

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bpf回溯跟踪未正确处理原子获取操作,可能导致路径修剪错误。

CVSS 7.8 · High EPSS 0.17% · P6

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 5ca419f2864a2c60940dcf4bbaeb69546200e36f< ea150ffa9fc9f78c5cf22e1f7b06b6d016b1017c affected
5ca419f2864a2c60940dcf4bbaeb69546200e36f< 7ffbe45b1d227e24659998a91cfd4c27af457e71 affected
5ca419f2864a2c60940dcf4bbaeb69546200e36f< 179ee84a89114b854ac2dd1d293633a7f6c8dac1 affected
5.12 affected
< 5.12 unaffected
6.18.50≤ 6.18.* unaffected
6.19.12≤ 6.19.* unaffected
7.0≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-43009

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
bpf: Fix incorrect pruning due to atomic fetch precision tracking
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix incorrect pruning due to atomic fetch precision tracking When backtrack_insn encounters a BPF_STX instruction with BPF_ATOMIC and BPF_FETCH, the src register (or r0 for BPF_CMPXCHG) also acts as a destination, thus receiving the old value from the memory location. The current backtracking logic does not account for this. It treats atomic fetch operations the same as regular stores where the src register is only an input. This leads the backtrack_insn to fail to propagate precision to the stack location, which is then not marked as precise! Later, the verifier's path pruning can incorrectly consider two states equivalent when they differ in terms of stack state. Meaning, two branches can be treated as equivalent and thus get pruned when they should not be seen as such. Fix it as follows: Extend the BPF_LDX handling in backtrack_insn to also cover atomic fetch operations via is_atomic_fetch_insn() helper. When the fetch dst register is being tracked for precision, clear it, and propagate precision over to the stack slot. For non-stack memory, the precision walk stops at the atomic instruction, same as regular BPF_LDX. This covers all fetch variants. Before: 0: (b7) r1 = 8 ; R1=8 1: (7b) *(u64 *)(r10 -8) = r1 ; R1=8 R10=fp0 fp-8=8 2: (b7) r2 = 0 ; R2=0 3: (db) r2 = atomic64_fetch_add((u64 *)(r10 -8), r2) ; R2=8 R10=fp0 fp-8=mmmmmmmm 4: (bf) r3 = r10 ; R3=fp0 R10=fp0 5: (0f) r3 += r2 mark_precise: frame0: last_idx 5 first_idx 0 subseq_idx -1 mark_precise: frame0: regs=r2 stack= before 4: (bf) r3 = r10 mark_precise: frame0: regs=r2 stack= before 3: (db) r2 = atomic64_fetch_add((u64 *)(r10 -8), r2) mark_precise: frame0: regs=r2 stack= before 2: (b7) r2 = 0 6: R2=8 R3=fp8 6: (b7) r0 = 0 ; R0=0 7: (95) exit After: 0: (b7) r1 = 8 ; R1=8 1: (7b) *(u64 *)(r10 -8) = r1 ; R1=8 R10=fp0 fp-8=8 2: (b7) r2 = 0 ; R2=0 3: (db) r2 = atomic64_fetch_add((u64 *)(r10 -8), r2) ; R2=8 R10=fp0 fp-8=mmmmmmmm 4: (bf) r3 = r10 ; R3=fp0 R10=fp0 5: (0f) r3 += r2 mark_precise: frame0: last_idx 5 first_idx 0 subseq_idx -1 mark_precise: frame0: regs=r2 stack= before 4: (bf) r3 = r10 mark_precise: frame0: regs=r2 stack= before 3: (db) r2 = atomic64_fetch_add((u64 *)(r10 -8), r2) mark_precise: frame0: regs= stack=-8 before 2: (b7) r2 = 0 mark_precise: frame0: regs= stack=-8 before 1: (7b) *(u64 *)(r10 -8) = r1 mark_precise: frame0: regs=r1 stack= before 0: (b7) r1 = 8 6: R2=8 R3=fp8 6: (b7) r0 = 0 ; R0=0 7: (95) exit
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bpf回溯跟踪未正确处理原子获取操作,可能导致路径修剪错误。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 5ca419f2864a2c60940dcf4bbaeb69546200e36f ~ ea150ffa9fc9f78c5cf22e1f7b06b6d016b1017c -
Linux Linux 5.12 -

II. Public POCs for CVE-2026-43009

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-43009

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-43009 (3)

Same Patch Batch · Linux · 2026-05-01 · 146 CVEs total

CVE-2026-43037 9.8 CRITICAL ip6_tunnel: clear skb2->cb[] in ip4ip6_err()
CVE-2026-43011 9.8 CRITICAL net/x25: Fix potential double free of skb
CVE-2026-31705 9.8 CRITICAL ksmbd: fix out-of-bounds write in smb2_get_ea() EA alignment
CVE-2026-43038 9.8 CRITICAL ipv6: icmp: clear skb2->cb[] in ip6_err_gen_icmpv6_unreach()
CVE-2026-43039 9.8 CRITICAL net: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch
CVE-2026-31718 9.8 CRITICAL ksmbd: fix use-after-free in __ksmbd_close_fd() via durable scavenger
CVE-2026-43018 8.8 HIGH Bluetooth: hci_event: fix potential UAF in hci_le_remote_conn_param_req_evt
CVE-2026-31739 8.8 HIGH crypto: tegra - Add missing CRYPTO_ALG_ASYNC
CVE-2026-31706 8.8 HIGH ksmbd: validate num_aces and harden ACE walk in smb_inherit_dacl()
CVE-2026-31709 8.8 HIGH smb: client: validate the whole DACL before rewriting it in cifsacl
CVE-2026-43048 8.8 HIGH HID: core: Mitigate potential OOB by removing bogus memset()
CVE-2026-31735 8.8 HIGH iommupt: Fix short gather if the unmap goes into a large mapping
CVE-2026-31773 8.8 HIGH Bluetooth: SMP: derive legacy responder STK authentication from MITM state
CVE-2026-31717 8.8 HIGH ksmbd: validate owner of durable handle on reconnect
CVE-2026-31712 8.3 HIGH ksmbd: require minimum ACE size in smb_check_perm_dacl()
CVE-2026-31771 8.1 HIGH Bluetooth: hci_event: move wake reason storage into validated event handlers
CVE-2026-43051 8.1 HIGH HID: wacom: fix out-of-bounds read in wacom_intuos_bt_irq
CVE-2026-31708 8.1 HIGH smb: client: fix OOB read in smb2_ioctl_query_info QUERY_INFO path
CVE-2026-31779 8.1 HIGH wifi: iwlwifi: mvm: fix potential out-of-bounds read in iwl_mvm_nd_match_info_handler()
CVE-2026-43019 7.8 HIGH Bluetooth: hci_conn: fix potential UAF in set_cig_params_sync

Showing top 20 of 146 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-43009

No comments yet


Leave a comment