Linux Kernel: Kritischer Integer-Underflow

Eine Sicherheitslücke in dem Linux Kernel hat zur Folge, dass Benutzer des Systems höhere Rechte erlangen können. Der Fehler trat das erste Mal im Kernel Kernel 5.1-rc1 Anfang 2019 in Erscheinung. Bei dem Problem handelt es sich um einen Integer-Underflow in den File-System-Kontext-Funktionen. Hier führt der Code eine Überprüfung via If()-Abfrage durch: if (len > PAGE_SIZE 2 – size). Auf der rechten Seite kommt es zu einem negativen Wert, falls size größer oder gleich 4095 ist. Der Underflow führt dann dazu, dass die Bedingung der If()-Abfrage immer erfüllt ist. Damit kann der Angreifer Speicherbereiche im Code überschreiben und die Attacke ausführen. Ein Umstellen der Bedingung in der If()-Abfrage umgeht das Problem: size + len + 2 > PAGE_SIZE. Durch diese Äquivalenzumformung
tritt der Underflow nicht mehr auf.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben