cve: Eine Sammlung von Code rund um CVE-2016-0728 (verschiedene Autoren)
Auszüge aus Linux, die die Entwicklung und Behebung des Bugs zeigen
Exploit-Code von Perception Point mit hinzugefügten Kommentaren, die erklären, was jede Zeile tut.
Ein kurzes Skript, das den Leak nutzt, um den Nutzungszähler zu inkrementieren, nützlich, um festzustellen, ob der Bug auf Ihrem System vorhanden ist.
Eine Version des Exploits, die die Syscall-Wrapper umgeht (für Systeme, die die keycntl-Wrapper nicht implementieren).
Der erste Notfall-Patch von Januar 2016
Der beste Weg, diesen Exploit zu reproduzieren, ist, eine betroffene Version eines Linux-Builds zu finden, die unten aufgeführt ist. ISOs können zurückportierte Patches enthalten, daher müssen Sie den Quellcode herunterladen und selbst kompilieren.
Das Ausführen des Exploits auf einer modernen Version von Ubuntu (bearbeitet, um den Bug zu behalten) ergab seltsame Ergebnisse. Ich habe test.c geschrieben, um es zu verfolgen, und die Ausgabe in die Datei keylog geschrieben. Das Programm läuft unabhängig vom Exploit und verwendet nanosleep, um die Abtastfrequenz zu steuern. keylog ist die Ausgabe bei einer Abtastperiode von 500 Nanosekunden für etwa 1/2 Sekunde.
Interpretation der keylog-Datei: Die Zahl links ist die Iterationsnummer. Sie gibt einen Wert aus, wenn sich die Steigung ändert. tState zählt, wie viele Iterationen seit der letzten Änderung der Steigung vergangen sind. Es ist völlig zufällig und nicht wert, untersucht zu werden.
Bei diesem Test gab es unvorhersehbare Ausgabe und keinen Integer-Überlauf, was bedeutet, dass der Exploit auf einer modernen Version fehlschlägt, bearbeitet oder nicht. Kompilieren Sie stattdessen eine Version aus der Liste.
Betroffene Versionen
Red Hat Enterprise Linux 7
CentOS Linux 7
Scientific Linux 7
Debian Linux stable 8.x (jessie)
Debian Linux testing 9.x (stretch)
SUSE Linux Enterprise Desktop 12
SUSE Linux Enterprise Desktop 12 SP1
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 12 SP1
SUSE Linux Enterprise Workstation Extension 12
SUSE Linux Enterprise Workstation Extension 12 SP1