CVE-2026-98007

bpf: Reject non-scalar bpf_loop iteration counts

State
Published
Severity
Not scored
Published
Sep 25, 2026
Updated
Oct 19, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

bpf: Reject non-scalar bpf_loop iteration counts

bpf_loop() declares its nr_loops argument as ARG_ANYTHING. Privileged programs may pass pointer values to such arguments, so check_func_arg() lets a pointer-valued R1 reach the helper-specific checks.

Since commit bb124da69c47 ("bpf: keep track of max number of bpf_loop callback iterations"), the verifier marks R1 precise and reads its upper bound to limit callback simulation. Precision backtracking only accepts scalar registers, so passing a pointer instead triggers the "backtracking misuse" verifier warning. Kernels with panic_on_warn enabled subsequently panic.

Introduce ARG_SCALAR for helper arguments that only accept scalar values and use it for bpf_loop() nr_loops. Generic helper argument validation then rejects pointers before loop inlining and precision processing.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • bfc5c19b4b48840627af0d0f1c8f4461b276e508 to before 2ff38b3552af53238aee6c877ae64cc798d46fceAffected
  • bb124da69c47dd98d69361ec13244ece50bec63e to before 656d40d1ca228ee21a9b3280432479fc9eae75abAffected
  • bb124da69c47dd98d69361ec13244ece50bec63e to before e2e1161e03fecff6d2229a81b024337144bfcd97Affected
  • bb124da69c47dd98d69361ec13244ece50bec63e to before f8ae8275c721334ee50fafdd986fb83294eb941aAffected
  • bb124da69c47dd98d69361ec13244ece50bec63e to before c3fd8e5fd100f122bad503bdc0e9277219533253Affected
  • 6.6.15 to before 6.6.158Affected
LinuxLinux
  • 6.7Affected
  • before 6.7Not affected
  • 6.6.158 through 6.6.*Not affected
  • 6.12.111 through 6.12.*Not affected
  • 6.18.53 through 6.18.*Not affected
  • 7.2.7 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.