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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-40143— bpf: dont report verifier bug for missing bpf_scc_visit on speculative path

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 kernel是开源操作系统Linux所使用的内核。Aaron update等都是(Aaron)个人开发者的产品。update是一个库。ClickHouse ch等都是(ClickHouse)开源的产品。ch是一个ClickHouse的低级Go客户端。 Linux kernel存在安全漏洞,该漏洞源于推测路径上缺少bpf_scc_visit检查,可能导致验证器BUG。

AI Predicted 7.5 Difficulty: Hard EPSS 0.26% · P17

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux c9e31900b54cadf5398dfb838c0a63effa1defec< 3861e7c4324aa20a632fb74eb3904114f6afdb57 affected
c9e31900b54cadf5398dfb838c0a63effa1defec< a3c73d629ea1373af3c0c954d41fd1af555492e3 affected
6.17 affected
< 6.17 unaffected
6.17.3≤ 6.17.* unaffected
6.18≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-40143

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: dont report verifier bug for missing bpf_scc_visit on speculative path
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: bpf: dont report verifier bug for missing bpf_scc_visit on speculative path Syzbot generated a program that triggers a verifier_bug() call in maybe_exit_scc(). maybe_exit_scc() assumes that, when called for a state with insn_idx in some SCC, there should be an instance of struct bpf_scc_visit allocated for that SCC. Turns out the assumption does not hold for speculative execution paths. See example in the next patch. maybe_scc_exit() is called from update_branch_counts() for states that reach branch count of zero, meaning that path exploration for a particular path is finished. Path exploration can finish in one of three ways: a. Verification error is found. In this case, update_branch_counts() is called only for non-speculative paths. b. Top level BPF_EXIT is reached. Such instructions are never a part of an SCC, so compute_scc_callchain() in maybe_scc_exit() will return false, and maybe_scc_exit() will return early. c. A checkpoint is reached and matched. Checkpoints are created by is_state_visited(), which calls maybe_enter_scc(), which allocates bpf_scc_visit instances for checkpoints within SCCs. Hence, for non-speculative symbolic execution paths, the assumption still holds: if maybe_scc_exit() is called for a state within an SCC, bpf_scc_visit instance must exist. This patch removes the verifier_bug() call for speculative paths.
Source: CVE Program / CVE List V5
CVSS Information
N/A
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 kernel是开源操作系统Linux所使用的内核。Aaron update等都是(Aaron)个人开发者的产品。update是一个库。ClickHouse ch等都是(ClickHouse)开源的产品。ch是一个ClickHouse的低级Go客户端。 Linux kernel存在安全漏洞,该漏洞源于推测路径上缺少bpf_scc_visit检查,可能导致验证器BUG。
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 c9e31900b54cadf5398dfb838c0a63effa1defec ~ 3861e7c4324aa20a632fb74eb3904114f6afdb57 -
Linux Linux 6.17 -

II. Public POCs for CVE-2025-40143

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-40143

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

Same Patch Batch · Linux · 2025-11-12 · 96 CVEs total

CVE-2025-40176 9.8 CRITICAL tls: wait for pending async decryptions if tls_strp_msg_hold fails
CVE-2025-40140 8.8 HIGH net: usb: Remove disruptive netif_wake_queue in rtl8150_set_multicast
CVE-2025-40133 8.1 HIGH mptcp: Use __sk_dst_get() and dst_dev_rcu() in mptcp_active_enable().
CVE-2025-40186 8.1 HIGH tcp: Don't call reqsk_fastopen_remove() in tcp_conn_request().
CVE-2025-40158 8.1 HIGH ipv6: use RCU in ip6_output()
CVE-2025-40204 8.1 HIGH sctp: Fix MAC comparison to be constant-time
CVE-2025-40135 8.1 HIGH ipv6: use RCU in ip6_xmit()
CVE-2025-40168 8.1 HIGH smc: Use __sk_dst_get() and dst_dev_rcu() in smc_clc_prfx_match().
CVE-2025-40141 8.0 HIGH Bluetooth: ISO: Fix possible UAF on iso_conn_free
CVE-2025-40166 7.8 HIGH drm/xe/guc: Check GuC running state before deregistering exec queue
CVE-2025-40159 7.8 HIGH xsk: Harden userspace-supplied xdp_desc validation
CVE-2025-40173 7.8 HIGH net/ip6_tunnel: Prevent perpetual tunnel growth
CVE-2025-40167 7.8 HIGH ext4: detect invalid INLINE_DATA + EXTENTS flag combination
CVE-2025-40170 7.8 HIGH net: use dst_dev_rcu() in sk_setup_caps()
CVE-2025-40149 7.8 HIGH tls: Use __sk_dst_get() and dst_dev_rcu() in get_netdev_for_sock().
CVE-2025-40172 7.8 HIGH accel/qaic: Treat remaining == 0 as error in find_and_map_user_pages()
CVE-2025-40174 7.8 HIGH x86/mm: Fix SMP ordering in switch_mm_irqs_off()
CVE-2025-40139 7.8 HIGH smc: Use __sk_dst_get() and dst_dev_rcu() in in smc_clc_prfx_set().
CVE-2025-40190 7.8 HIGH ext4: guard against EA inode refcount underflow in xattr update
CVE-2025-40151 7.8 HIGH LoongArch: BPF: No support of struct argument in trampoline programs

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-40143

No comments yet


Leave a comment