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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-40079— riscv, bpf: Sign extend struct ops return values properly

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存在安全漏洞,该漏洞源于未正确处理结构体操作返回值,可能导致内核崩溃。

CVSS 7.8 · High EPSS 0.15% · P4

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 25ad10658dc1068a671553ff10e19a812c2a3783< 92751937f12a7d34ad492577a251c94a55e97e72 affected
25ad10658dc1068a671553ff10e19a812c2a3783< 918a399501e28e0cc36dbd1fcfb4208f8aa1e4d1 affected
25ad10658dc1068a671553ff10e19a812c2a3783< fd2e08128944a7679e753f920e9eda72057e427c affected
6.6 affected
< 6.6 unaffected
6.12.53≤ 6.12.* 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-40079

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
riscv, bpf: Sign extend struct ops return values properly
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: riscv, bpf: Sign extend struct ops return values properly The ns_bpf_qdisc selftest triggers a kernel panic: Unable to handle kernel paging request at virtual address ffffffffa38dbf58 Current test_progs pgtable: 4K pagesize, 57-bit VAs, pgdp=0x00000001109cc000 [ffffffffa38dbf58] pgd=000000011fffd801, p4d=000000011fffd401, pud=000000011fffd001, pmd=0000000000000000 Oops [#1] Modules linked in: bpf_testmod(OE) xt_conntrack nls_iso8859_1 [...] [last unloaded: bpf_testmod(OE)] CPU: 1 UID: 0 PID: 23584 Comm: test_progs Tainted: G W OE 6.17.0-rc1-g2465bb83e0b4 #1 NONE Tainted: [W]=WARN, [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: Unknown Unknown Product/Unknown Product, BIOS 2024.01+dfsg-1ubuntu5.1 01/01/2024 epc : __qdisc_run+0x82/0x6f0 ra : __qdisc_run+0x6e/0x6f0 epc : ffffffff80bd5c7a ra : ffffffff80bd5c66 sp : ff2000000eecb550 gp : ffffffff82472098 tp : ff60000096895940 t0 : ffffffff8001f180 t1 : ffffffff801e1664 t2 : 0000000000000000 s0 : ff2000000eecb5d0 s1 : ff60000093a6a600 a0 : ffffffffa38dbee8 a1 : 0000000000000001 a2 : ff2000000eecb510 a3 : 0000000000000001 a4 : 0000000000000000 a5 : 0000000000000010 a6 : 0000000000000000 a7 : 0000000000735049 s2 : ffffffffa38dbee8 s3 : 0000000000000040 s4 : ff6000008bcda000 s5 : 0000000000000008 s6 : ff60000093a6a680 s7 : ff60000093a6a6f0 s8 : ff60000093a6a6ac s9 : ff60000093140000 s10: 0000000000000000 s11: ff2000000eecb9d0 t3 : 0000000000000000 t4 : 0000000000ff0000 t5 : 0000000000000000 t6 : ff60000093a6a8b6 status: 0000000200000120 badaddr: ffffffffa38dbf58 cause: 000000000000000d [<ffffffff80bd5c7a>] __qdisc_run+0x82/0x6f0 [<ffffffff80b6fe58>] __dev_queue_xmit+0x4c0/0x1128 [<ffffffff80b80ae0>] neigh_resolve_output+0xd0/0x170 [<ffffffff80d2daf6>] ip6_finish_output2+0x226/0x6c8 [<ffffffff80d31254>] ip6_finish_output+0x10c/0x2a0 [<ffffffff80d31446>] ip6_output+0x5e/0x178 [<ffffffff80d2e232>] ip6_xmit+0x29a/0x608 [<ffffffff80d6f4c6>] inet6_csk_xmit+0xe6/0x140 [<ffffffff80c985e4>] __tcp_transmit_skb+0x45c/0xaa8 [<ffffffff80c995fe>] tcp_connect+0x9ce/0xd10 [<ffffffff80d66524>] tcp_v6_connect+0x4ac/0x5e8 [<ffffffff80cc19b8>] __inet_stream_connect+0xd8/0x318 [<ffffffff80cc1c36>] inet_stream_connect+0x3e/0x68 [<ffffffff80b42b20>] __sys_connect_file+0x50/0x88 [<ffffffff80b42bee>] __sys_connect+0x96/0xc8 [<ffffffff80b42c40>] __riscv_sys_connect+0x20/0x30 [<ffffffff80e5bcae>] do_trap_ecall_u+0x256/0x378 [<ffffffff80e69af2>] handle_exception+0x14a/0x156 Code: 892a 0363 1205 489c 8bc1 c7e5 2d03 084a 2703 080a (2783) 0709 ---[ end trace 0000000000000000 ]--- The bpf_fifo_dequeue prog returns a skb which is a pointer. The pointer is treated as a 32bit value and sign extend to 64bit in epilogue. This behavior is right for most bpf prog types but wrong for struct ops which requires RISC-V ABI. So let's sign extend struct ops return values according to the function model and RISC-V ABI([0]). [0]: https://riscv.org/wp-content/uploads/2024/12/riscv-calling.pdf
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存在安全漏洞,该漏洞源于未正确处理结构体操作返回值,可能导致内核崩溃。
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 25ad10658dc1068a671553ff10e19a812c2a3783 ~ 92751937f12a7d34ad492577a251c94a55e97e72 -
Linux Linux 6.6 -

II. Public POCs for CVE-2025-40079

# 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-40079

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

Same Patch Batch · Linux · 2025-10-28 · 58 CVEs total

CVE-2025-40074 9.8 CRITICAL ipv4: start using dst_dev_rcu()
CVE-2025-40043 8.8 HIGH net: nfc: nci: Add parameter validation for packet data
CVE-2025-40039 8.8 HIGH ksmbd: Fix race condition in RPC handle list access
CVE-2025-40058 8.8 HIGH iommu/vt-d: Disallow dirty tracking if incoherent page walk
CVE-2025-40046 8.6 HIGH io_uring/zcrx: fix overshooting recv limit
CVE-2025-40068 8.4 HIGH fs: ntfs3: Fix integer overflow in run_unpack()
CVE-2025-40075 8.1 HIGH tcp_metrics: use dst_dev_net_rcu()
CVE-2025-40026 7.9 HIGH KVM: x86: Don't (re)check L1 intercepts when completing userspace I/O
CVE-2025-40067 7.8 HIGH fs/ntfs3: reject index allocation if $BITMAP is empty but blocks exist
CVE-2025-40061 7.8 HIGH RDMA/rxe: Fix race in do_task() when draining
CVE-2025-40028 7.8 HIGH binder: fix double-free in dbitmap
CVE-2025-40064 7.8 HIGH smc: Fix use-after-free in __pnet_find_base_ndev().
CVE-2025-40069 7.8 HIGH drm/msm: Fix obj leak in VM_BIND error path
CVE-2025-40027 7.8 HIGH net/9p: fix double req put in p9_fd_cancelled
CVE-2025-40025 7.8 HIGH f2fs: fix to do sanity check on node footer for non inode dnode
CVE-2025-40044 7.8 HIGH fs: udf: fix OOB read in lengthAllocDescs handling
CVE-2025-40045 7.8 HIGH ASoC: codecs: wcd937x: set the comp soundwire port correctly
CVE-2025-40051 7.8 HIGH vhost: vringh: Modify the return value check
CVE-2025-40047 7.8 HIGH io_uring/waitid: always prune wait queue entry in io_waitid_wait()
CVE-2025-40041 7.8 HIGH LoongArch: BPF: Sign-extend struct ops return values properly

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-40079

No comments yet


Leave a comment