Nieprawidłowe przycinanie ścieżek przez weryfikator BPF w Linux Kernel (wersje >= 5.4) powoduje błędne oznaczanie niebezpiecznych ścieżek kodu jako bezpiecznych. Podatność umożliwia dowolny odczyt i zapis w pamięci jądra, eskalację uprawnień oraz ucieczkę z kontenera.
▸ Pokaż oryginał (EN)
Incorrect verifier pruning in BPF in Linux Kernel >=5.4 leads to unsafe code paths being incorrectly marked as safe, resulting in arbitrary read/write in kernel memory, lateral privilege escalation, and container escape.
Weryfikator BPF odpowiada za walidację programów eBPF przed ich uruchomieniem w jądrze systemu. W wyniku błędu w mechanizmie przycinania (pruning) ścieżek wykonania, weryfikator niepoprawnie klasyfikuje niebezpieczne ścieżki kodu jako bezpieczne (CWE-682 — błąd obliczeń/weryfikacji). Atakujący może spreparować złośliwy program eBPF, który po zaakceptowaniu przez wadliwy weryfikator uzyska dostęp do dowolnych obszarów pamięci jądra zarówno w trybie odczytu, jak i zapisu. Błąd ten może być wykorzystany bez interakcji użytkownika i bez wymaganych uprawnień, przy dostępie sieciowym.
Atakujący może uzyskać możliwość dowolnego odczytu i zapisu w pamięci jądra, przeprowadzić lateral privilege escalation oraz dokonać ucieczki z kontenera (container escape), co w środowiskach kontenerowych może oznaczać pełne przejęcie hosta.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — commit dostępny w repozytorium jądra Linux (id: 71b547f561247897a0a14f3082730156c0533fed). Zaleca się jak najszybszą aktualizację jądra do wersji zawierającej poprawkę. W środowiskach kontenerowych należy dodatkowo rozważyć ograniczenie dostępu do wywołań BPF poprzez seccomp lub polityki AppArmor/SELinux.
Linux Kernel w wersjach >= 5.4
Podatność została szczegółowo opisana przez Google Bug Hunters (blog: bughunters.google.com). Szczególnie istotna w środowiskach chmurowych i kontenerowych (Kubernetes, Docker), gdzie eskalacja uprawnień przez ucieczkę z kontenera stanowi krytyczne zagrożenie dla izolacji workloadów.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NLinux Kernel
OSLinux5.3 – 5.4.242 (bez)5.5 – 5.10.179 (bez)5.11 – 5.15.109 (bez)5.16 – 6.1.26 (bez)6.2 – 6.2.13 (bez)
Powiązane podatności
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
RCE przez YAML deserialization w IBM Aspera Faspex
RCE w VMware Workspace ONE Access i Identity Manager poprzez server-side template injection
Command Injection w VMware Workspace One Access i Identity Manager