bpf: Reset register bounds before narrowing retval range in check_mem_access() (Linux Linux)

CVE-2026-72111
HIGH 8.8

At a glance

Source
NVD
EPSS
EPSS 0.18 % · percentile 7 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Received

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: Reset register bounds before narrowing retval range in check_mem_access() When the BPF verifier processes a context load of an LSM hook return value, it calls __mark_reg_s32_range() to narrow the register to the hook's valid range. However, __mark_reg_s32_range() intersects the new range with the register's existing bounds using max_t()/min_t() rather than replacing them. If the destination register carries stale bounds from a prior instruction (e.g. BPF_MOV64_IMM), the intersection can produce a range narrower than reality. The verifier then believes it knows the register's exact value, while at runtime the actual hook return value is loaded, creating a verifier/runtime mismatch that can be used to bypass BPF memory safety checks. The else branch already calls mark_reg_unknown() to reset register state before any narrowing. Apply the same reset in the is_retval path so stale bounds are cleared before __mark_reg_s32_range() intersects.

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 8.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HLinux
CVSS 3.1HIGH 8.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected 5d99e198be279045e6ecefe220f5c52f8ce9bfd5 < bde92f65042ec14389782dd223f706bf6b59ce5d ; affected 5d99e198be279045e6ecefe220f5c52f8ce9bfd5 < 0993dc5fc619c0b25ab1310cb11d65e78351c0fe ; affected 5d99e198be279045e6ecefe220f5c52f8ce9bfd5 < 5a55f9aecc08990940e70f0c7048a80850c5a16a ; affected 5d99e198be279045e6ecefe220f5c52f8ce9bfd5 < 5e0b273e0a62cc04ec338c7b502797c66c2ed42a ; affected 1050727d83e70449991c29dd1cf29fe936a63da3 ; affected 27ca3e20fe80be85a92b10064dfeb56cb2564b1c
Linux · Linuxaffected 6.12 ; unaffected 0 < 6.12 ; unaffected 6.12.103 ≤ 6.12.* ; unaffected 6.18.40 ≤ 6.18.* ; unaffected 7.1.5 ≤ 7.1.* ; unaffected 7.2 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD