Im USB-Subsystem des Linux-Kernel laufen offenbar eine ganze Reihe von Dingen schief. Mit einem manipulierten USB-Stick sind solche Systeme unter Umständen angreifbar.
Ein Kernel-Fuzzer namens Syzcaller, der in Googles Github-Repository steckt, listet aktuell 67 Probleme im USB-Subsystem auf, für 21 davon gibt es CVEs, für die anderen vereinzelt Fixes.
Nicht bei jedem Problem handelt es sich um eine Sicherheitslücke, doch die mit dem Fuzzer erkannten nutzen verschiedene Angriffsvektoren aus. Dazu gehören unter anderem Use-after-free-Lücken, die Schäden verursachen, indem sie Pointer nach der Speicherfreigabe weiter verwenden. Out-of-Bounds-Lücken im Slab Memory Allocator erlauben es, wichtige Informationen zu zerstören, den Rechner zum Absturz zu bringen oder bösartigen Code auszuführen.
Auch mit von der Partie sind ungeprüfte Typen, unsauber implementierte Timeouts sowie Null-Pointer-Dereference-Probleme. Letztere treten auf, wenn der Code einen Pointer mit dem Wert “NULL” verwendet, als würde er auf eine gewöhnliche Speicheradresse zeigen. Das bringt Prozesse zum Absturz.
Systeme, die auf abgesicherten Servern im Rechenzentrum laufen, sollten die Probleme nicht betreffen, da physischer Zugang zu den Laufwerken nötig ist. Die Liste mit den USB-Lücken wurde kürzlich aktualisiert, offenbar arbeiten Security-Experten daran, die Probleme zu beheben.






