W podsystemie eBPF, pozwalającym na uruchamianie obsługiwaczy w jądrze Linux w specjalnej maszynie wirtualnej z JIT, zidentyfikowano lukę (CVE-2021-3600), dzięki której lokalny użytkownik bez uprawnień może zrealizować swój kod na poziomie jądra Linux. Problem wynika z nieprawidłowego przycinania 32-bitowych rejestrów podczas wykonywania operacji „div” i „mod”, co może prowadzić do odczytu i zapisu danych poza przypisaną przestrzenią pamięci.
Luka została wprowadzona w nieskutecznym poprawieniu 32-bitowego dzielenia przez zero w wersji 4.15, która również została przeniesiona do gałęzi 4.4.x, 4.9.x i 4.14.x. Wykorzystanie luki jest możliwe w jądrze od wersji 4.14, w którym zmieniono metodę śledzenia wartości w weryfikatorze BPF. Problem został rozwiązany w jądrze Linux 5.11. Poprawka została przeniesiona do gałęzi 5.10.x i 5.4.x, ale nie przeniesiono jej do gałęzi 4.19.x i 4.14.x. Aktualizacja zawierająca poprawkę dla luki została wydana dla Ubuntu i Debian Sid. Nie jest jeszcze jasne, czy problem występuje w SUSE i RHEL.
Źródło: opennet.ru
