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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38279— bpf: Do not include stack ptr register in precision backtracking bookkeeping

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中的精度回溯问题,可能导致系统崩溃。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.20% · P9

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux 407958a0e980b9e1842ab87b5a1040521e1e24e9< 2d9a8022009d2d6ad7aaea249902d88f1fa70144 affected
407958a0e980b9e1842ab87b5a1040521e1e24e9< 4265682c29c92f52c0da6fad5a79b5801462c8de affected
407958a0e980b9e1842ab87b5a1040521e1e24e9< ac49b7560b4b08b1e4043a29214cc7ad77644c00 affected
407958a0e980b9e1842ab87b5a1040521e1e24e9< e2d2115e56c4a02377189bfc3a9a7933552a7b0f affected
fc2778c42f99c7de52fc004157b3c3ee4dcc208a affected
6.4.4< 6.5 affected
6.5 affected
< 6.5 unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38279

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: Do not include stack ptr register in precision backtracking bookkeeping
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Do not include stack ptr register in precision backtracking bookkeeping Yi Lai reported an issue ([1]) where the following warning appears in kernel dmesg: [ 60.643604] verifier backtracking bug [ 60.643635] WARNING: CPU: 10 PID: 2315 at kernel/bpf/verifier.c:4302 __mark_chain_precision+0x3a6c/0x3e10 [ 60.648428] Modules linked in: bpf_testmod(OE) [ 60.650471] CPU: 10 UID: 0 PID: 2315 Comm: test_progs Tainted: G OE 6.15.0-rc4-gef11287f8289-dirty #327 PREEMPT(full) [ 60.654385] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE [ 60.656682] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 [ 60.660475] RIP: 0010:__mark_chain_precision+0x3a6c/0x3e10 [ 60.662814] Code: 5a 30 84 89 ea e8 c4 d9 01 00 80 3d 3e 7d d8 04 00 0f 85 60 fa ff ff c6 05 31 7d d8 04 01 48 c7 c7 00 58 30 84 e8 c4 06 a5 ff <0f> 0b e9 46 fa ff ff 48 ... [ 60.668720] RSP: 0018:ffff888116cc7298 EFLAGS: 00010246 [ 60.671075] RAX: 54d70e82dfd31900 RBX: ffff888115b65e20 RCX: 0000000000000000 [ 60.673659] RDX: 0000000000000001 RSI: 0000000000000004 RDI: 00000000ffffffff [ 60.676241] RBP: 0000000000000400 R08: ffff8881f6f23bd3 R09: 1ffff1103ede477a [ 60.678787] R10: dffffc0000000000 R11: ffffed103ede477b R12: ffff888115b60ae8 [ 60.681420] R13: 1ffff11022b6cbc4 R14: 00000000fffffff2 R15: 0000000000000001 [ 60.684030] FS: 00007fc2aedd80c0(0000) GS:ffff88826fa8a000(0000) knlGS:0000000000000000 [ 60.686837] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 60.689027] CR2: 000056325369e000 CR3: 000000011088b002 CR4: 0000000000370ef0 [ 60.691623] Call Trace: [ 60.692821] <TASK> [ 60.693960] ? __pfx_verbose+0x10/0x10 [ 60.695656] ? __pfx_disasm_kfunc_name+0x10/0x10 [ 60.697495] check_cond_jmp_op+0x16f7/0x39b0 [ 60.699237] do_check+0x58fa/0xab10 ... Further analysis shows the warning is at line 4302 as below: 4294 /* static subprog call instruction, which 4295 * means that we are exiting current subprog, 4296 * so only r1-r5 could be still requested as 4297 * precise, r0 and r6-r10 or any stack slot in 4298 * the current frame should be zero by now 4299 */ 4300 if (bt_reg_mask(bt) & ~BPF_REGMASK_ARGS) { 4301 verbose(env, "BUG regs %x\n", bt_reg_mask(bt)); 4302 WARN_ONCE(1, "verifier backtracking bug"); 4303 return -EFAULT; 4304 } With the below test (also in the next patch): __used __naked static void __bpf_jmp_r10(void) { asm volatile ( "r2 = 2314885393468386424 ll;" "goto +0;" "if r2 <= r10 goto +3;" "if r1 >= -1835016 goto +0;" "if r2 <= 8 goto +0;" "if r3 <= 0 goto +0;" "exit;" ::: __clobber_all); } SEC("?raw_tp") __naked void bpf_jmp_r10(void) { asm volatile ( "r3 = 0 ll;" "call __bpf_jmp_r10;" "r0 = 0;" "exit;" ::: __clobber_all); } The following is the verifier failure log: 0: (18) r3 = 0x0 ; R3_w=0 2: (85) call pc+2 caller: R10=fp0 callee: frame1: R1=ctx() R3_w=0 R10=fp0 5: frame1: R1=ctx() R3_w=0 R10=fp0 ; asm volatile (" \ @ verifier_precision.c:184 5: (18) r2 = 0x20202000256c6c78 ; frame1: R2_w=0x20202000256c6c78 7: (05) goto pc+0 8: (bd) if r2 <= r10 goto pc+3 ; frame1: R2_w=0x20202000256c6c78 R10=fp0 9: (35) if r1 >= 0xffe3fff8 goto pc+0 ; frame1: R1=ctx() 10: (b5) if r2 <= 0x8 goto pc+0 mark_precise: frame1: last_idx 10 first_idx 0 subseq_idx -1 mark_precise: frame1: regs=r2 stack= before 9: (35) if r1 >= 0xffe3fff8 goto pc+0 mark_precise: frame1: regs=r2 stack= before 8: (bd) if r2 <= r10 goto pc+3 mark_preci ---truncated---
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所使用的内核。 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 407958a0e980b9e1842ab87b5a1040521e1e24e9 ~ 2d9a8022009d2d6ad7aaea249902d88f1fa70144 -
Linux Linux 6.5 -

II. Public POCs for CVE-2025-38279

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

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

Patches & Fixes for CVE-2025-38279 (1)

Same Patch Batch · Linux · 2025-07-10 · 84 CVEs total

CVE-2025-38325 9.8 CRITICAL ksmbd: add free_transport ops in ksmbd connection
CVE-2025-38290 8.8 HIGH wifi: ath12k: fix node corruption in ar->arvifs list
CVE-2025-38291 8.8 HIGH wifi: ath12k: Prevent sending WMI commands to firmware during firmware crash
CVE-2025-38283 8.8 HIGH hisi_acc_vfio_pci: bugfix live migration function without VF device driver
CVE-2025-38293 8.8 HIGH wifi: ath11k: fix node corruption in ar->arvifs list
CVE-2025-38292 8.8 HIGH wifi: ath12k: fix invalid access to memory
CVE-2025-38343 8.3 HIGH wifi: mt76: mt7996: drop fragments with multicast or broadcast RA
CVE-2025-38333 7.8 HIGH f2fs: fix to bail out in get_new_segment()
CVE-2025-38273 7.8 HIGH net: tipc: fix refcount warning in tipc_aead_encrypt
CVE-2025-38276 7.8 HIGH fs/dax: Fix "don't skip locked entries when scanning entries"
CVE-2025-38341 7.8 HIGH eth: fbnic: avoid double free when failing to DMA-map FW msg
CVE-2025-38346 7.8 HIGH ftrace: Fix UAF when lookup kallsym after ftrace disabled
CVE-2025-38270 7.8 HIGH net: drv: netdevsim: don't napi_complete() from netpoll
CVE-2025-38321 7.8 HIGH smb: Log an error when close_all_cached_dirs fails
CVE-2025-38306 7.8 HIGH fs/fhandle.c: fix a race in call of has_locked_children()
CVE-2025-38303 7.8 HIGH Bluetooth: eir: Fix possible crashes on eir_create_adv_data
CVE-2025-38278 7.8 HIGH octeontx2-pf: QOS: Refactor TC_HTB_LEAF_DEL_LAST callback
CVE-2025-38339 7.8 HIGH powerpc/bpf: fix JIT code size calculation of bpf trampoline
CVE-2025-38317 7.8 HIGH wifi: ath12k: Fix buffer overflow in debugfs
CVE-2025-38287 7.5 HIGH IB/cm: Drop lockdep assert and WARN when freeing old msg

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

IV. Related Vulnerabilities