CVE-2026-72111
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
W jądrze Linuxa weryfikator BPF nie resetuje granic rejestru przed zawężeniem zakresu wartości zwracanej przez hook LSM, co może prowadzić do rozbieżności między weryfikacją a rzeczywistym wykonaniem. Atakujący może wykorzystać tę lukę do obejścia zabezpieczeń pamięci BPF.
Ocena ryzyka
Podatność może umożliwić lokalnemu atakującemu obejście mechanizmów bezpieczeństwa BPF, co może prowadzić do eskalacji uprawnień lub naruszenia integralności systemu.
Rekomendacja
Należy zastosować poprawkę jądra, która resetuje granice rejestru przed zawężeniem zakresu, oraz ograniczyć dostęp do programów BPF dla nieuprawnionych użytkowników.
Oryginalny opis (angielski, źródło NVD)
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.

