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---
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-develUpgrade kernel-rt-64k-debug-develUpgrade kernel-64k-debug-coreUpgrade kernel-rt-64k-debug-coreUpgrade kernel-rt-64k-develUpgrade kernel-zfcpdump-coreUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-rt-develUpgrade kernel-debug-modulesUpgrade kernel-zfcpdump-devel-matchedUpgrade perfUpgrade kernel-rt-debug-coreUpgrade kernel-64k-debugUpgrade python3-perfUpgrade kernel-64k-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-64kUpgrade kernel-debug-modules-coreUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debug-uki-virtUpgrade kernel-64k-debug-modules-coreUpgrade kernel-tools-libsUpgrade kernel-rt-debugUpgrade kernel-tools-libs-develUpgrade kernel-uki-virt-addonsUpgrade kernel-rtUpgrade kernel-rt-64k-coreUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rt-64kUpgrade kernel-64k-debug-develUpgrade rvUpgrade kernel-debug-modules-extraUpgrade kernel-coreUpgrade kernel-64k-devel-matchedUpgrade kernel-debug-develUpgrade kernel-64k-modulesUpgrade kernel-64k-debug-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdumpUpgrade kernel-cross-headersUpgrade kernel-rt-coreUpgrade kernel-debug-coreUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-modules-coreUpgrade kernel-rt-64k-modules-coreUpgrade kernel-headersUpgrade kernel-modulesUpgrade kernel-rt-64k-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-uki-virtUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-64k-modulesUpgrade kernel-modules-extraUpgrade kernel-64k-develUpgrade kernel-zfcpdump-develUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-rt-64k-debug-modules-coreUpgrade libperfUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-coreUpgrade kernel-rt-debug-modulesUpgrade kernelUpgrade kernel-rt-debug-modules-extraUpgrade kernel-docUpgrade kernel-rt-64k-debugUpgrade kernel-debugUpgrade kernel-64k-modules-coreUpgrade kernel-devel-matchedUpgrade kernel-abi-stablelistsUpgrade kernel-rt-64k-debug-modulesUpgrade rtla | Jun 8, 2026 | May 19, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel6.12-tools-develUpgrade kernel6.12-libbpfUpgrade kernel6.12-toolsUpgrade bpftool6.12Upgrade kernel6.12-libbpf-staticUpgrade kernel6.12-libbpf-develUpgrade perf6.12-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel-livepatch-6.12.37-61.105Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-headersUpgrade python3-perf6.12Upgrade kernel6.12Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-libbpf-debuginfoUpgrade perf6.12Upgrade kernel6.12-modules-extraUpgrade kernel6.12-devel | Sep 9, 2025 | Jul 10, 2025 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Jul 14, 2025 | Jul 10, 2025 |
| Suse | — | Upgrade dtb-rockchipUpgrade dtb-xilinxUpgrade dlm-kmp-rtUpgrade kernel-default-vdsoUpgrade kselftests-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-source-vanillaUpgrade ocfs2-kmp-azureUpgrade dtb-allwinnerUpgrade kernel-source-rtUpgrade dtb-appleUpgrade kernel-rt_debug-develUpgrade kernel-64kb-develUpgrade ocfs2-kmp-defaultUpgrade dtb-caviumUpgrade gfs2-kmp-azureUpgrade kernel-debugUpgrade reiserfs-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-rt-optionalUpgrade dtb-lgUpgrade kernel-obs-buildUpgrade dtb-renesasUpgrade kernel-rt-extraUpgrade kselftests-kmp-64kbUpgrade dlm-kmp-64kbUpgrade dtb-broadcomUpgrade reiserfs-kmp-azureUpgrade gfs2-kmp-defaultUpgrade kernel-default-baseUpgrade dtb-freescaleUpgrade ocfs2-kmp-64kbUpgrade dtb-amdUpgrade reiserfs-kmp-rtUpgrade cluster-md-kmp-rtUpgrade dtb-alteraUpgrade kernel-default-livepatchUpgrade kernel-develUpgrade kernel-debug-develUpgrade kselftests-kmp-azureUpgrade kernel-devel-rtUpgrade cluster-md-kmp-64kbUpgrade kernel-default-optionalUpgrade kernel-debug-vdsoUpgrade kernel-64kb-extraUpgrade kernel-rt-develUpgrade kernel-azureUpgrade kernel-azure-optionalUpgrade dtb-hisiliconUpgrade dtb-nvidiaUpgrade dtb-sprdUpgrade kernel-defaultUpgrade kernel-zfcpdumpUpgrade kernel-docs-htmlUpgrade kernel-azure-vdsoUpgrade kernel-64kb-optionalUpgrade cluster-md-kmp-defaultUpgrade kernel-obs-qaUpgrade kernel-docsUpgrade kernel-rt_debug-vdsoUpgrade dtb-armUpgrade dtb-amazonUpgrade cluster-md-kmp-azureUpgrade kernel-syms-rtUpgrade dtb-socionextUpgrade dlm-kmp-defaultUpgrade dtb-amlogicUpgrade dtb-qcomUpgrade kernel-rt_debugUpgrade gfs2-kmp-rtUpgrade kernel-syms-azureUpgrade kernel-sourceUpgrade kernel-rt-livepatch-develUpgrade kernel-rtUpgrade kernel-macrosUpgrade kernel-devel-azureUpgrade kernel-azure-extraUpgrade dtb-marvellUpgrade dtb-apmUpgrade ocfs2-kmp-rtUpgrade kernel-symsUpgrade kernel-rt-vdsoUpgrade kernel-default-base-rebuildUpgrade kselftests-kmp-defaultUpgrade kernel-default-extraUpgrade kernel-azure-develUpgrade dtb-mediatekUpgrade dtb-exynosUpgrade dlm-kmp-azureUpgrade kernel-kvmsmall-develUpgrade kernel-default-develUpgrade kernel-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-source-azureUpgrade kernel-kvmsmall-vdsoUpgrade kernel-kvmsmall | Dec 5, 2025 | Aug 18, 2025 |
| Ubuntu | — | Upgrade linux-image-gcp-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.14.0-1016-gcpUpgrade linux-image-6.14.0-1013-awsUpgrade linux-image-aws-64k-6.8Upgrade linux-image-aws-fips-6.8Upgrade linux-image-raspi-6.14Upgrade linux-image-aws-lts-24.04Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-6.14.0-1013-aws-64kUpgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-raspi-realtimeUpgrade linux-image-6.14.0-1012-realtimeUpgrade linux-image-kvmUpgrade linux-image-oracle-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-gkeUpgrade linux-image-fips-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-aws-6.8Upgrade linux-image-aws-64kUpgrade linux-image-azureUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-aws-6.14Upgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-aws-64k-6.14Upgrade linux-image-6.8.0-100-genericUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-xilinx-6.8Upgrade linux-image-gkeopUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-ibmUpgrade linux-image-genericUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-oem-22.04aUpgrade linux-image-oem-24.04aUpgrade linux-image-generic-6.8Upgrade linux-image-generic-6.14Upgrade linux-image-gcp-6.14Upgrade linux-image-xilinxUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-azure-fips-6.8Upgrade linux-image-6.14.0-1016-gcp-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-raspiUpgrade linux-image-6.14.0-1014-raspiUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-100-fipsUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-oracle-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-oem-24.04cUpgrade linux-image-raspi-6.8Upgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-ibm-6.8Upgrade linux-image-6.14.0-1013-oracle-64kUpgrade linux-image-azure-6.8Upgrade linux-image-virtual-6.14Upgrade linux-image-gcpUpgrade linux-image-intel-iotgUpgrade linux-image-nvidiaUpgrade linux-image-oem-24.04Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-realtime-6.14Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-oem-22.04cUpgrade linux-image-gke-6.8Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-gcp-64k-6.14Upgrade linux-image-awsUpgrade linux-image-realtimeUpgrade linux-image-gke-64kUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-oem-22.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-azure-fipsUpgrade linux-image-fipsUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-oracle-6.14Upgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-aws-fipsUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.14.0-1013-oracleUpgrade linux-image-virtual-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-generic-64k-6.14Upgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-6.14Upgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oem-6.14Upgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.14.0-32-generic-64kUpgrade linux-image-6.14.0-1012-azureUpgrade linux-image-oem-24.04bUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-6.14.0-32-genericUpgrade linux-image-6.14.0-1012-oemUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1046-nvidia-lowlatency | Jul 14, 2025 | Jul 10, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub