Trzy lata po fali luk w zabezpieczeniach (
Utworzenie gniazda AF_PACKET i wykorzystanie luki wymaga uprawnień CAP_NET_RAW. Jednakże określone uprawnienia może uzyskać nieuprzywilejowany użytkownik w kontenerach utworzonych na systemach z włączoną obsługą przestrzeni nazw użytkowników. Na przykład przestrzenie nazw użytkowników są domyślnie włączone w Ubuntu i Fedorze, ale nie są włączone w Debianie i RHEL. W systemie Android proces serwera multimediów ma prawo tworzyć gniazda AF_PACKET, za pośrednictwem których można wykorzystać lukę.
Luka występuje w funkcji tpacket_rcv i jest spowodowana błędem w obliczeniu zmiennej netoff. Osoba atakująca może stworzyć warunki, w których zmienna netoff zostanie zapisana z wartością mniejszą niż zmienna maclen, co spowoduje przepełnienie przy obliczaniu „macoff = netoff - maclen”, a w konsekwencji nieprawidłowe ustawienie wskaźnika do bufora dla przychodzących danych. W rezultacie osoba atakująca może zainicjować zapis od 1 do 10 bajtów w obszarze poza granicą przydzielonego bufora. Należy zauważyć, że opracowywany jest exploit, który pozwala uzyskać prawa roota w systemie.
Problem występuje w jądrze od lipca 2008 r., tj. objawia się we wszystkich rzeczywistych jądrach. Poprawka jest obecnie dostępna jako
Źródło: opennet.ru