Sicherheitslücke gefährdete zehn Jahre lang Millionen Steam-Client-Nutzer
Der Steam-Client war verwundbar und Angreifer hätten mit vergleichsweise wenig Aufwand Schadcode auf Computer schmuggeln können.
Im Client der Videospiel-Vertriebsplattform Steam klaffte unter Windows zehn Jahre lang eine kritische Sicherheitslücke, warnt ein Sicherheitsforscher. Theoretisch hätte ein Angreifer Millionen Steam-Nutzer attackieren können. Dafür muss lediglich ein verwundbarer Client auf einem Computer aktiv laufen – ja nach Uhrzeit sind am Tag in der Spitze fast 15 Millionen Nutzern über den Client bei Steam angemeldet. Ob jemals Angriffe über die Lücke stattgefunden haben, ist derzeit nicht bekannt.
Bis Juli 2017 soll die Lücke vergleichsweise einfach auszunutzen gewesen sein. Zu diesem Datum stattete Valve den Client mit dem Schutzmechanismus Address Space Layout Randomization (ASLR) aus. Diese Technik erschwert das Ausnutzen von Sicherheitslücken, um Speicherfehler auszulösen und letztlich Schadcode auf Computern auszuführen. Im Falle des Steam-Clients hätte ein Ausnutzen der Schwachstelle mit dem Schutz nur noch einen Absturz der Anwendung verursacht.
Remote Code Execution
Anfang April dieses Jahres haben die Entwickler dann die Schwachstelle im Client geschlossen. Steam-Updates installieren sich in der Regel automatisch. Eigenen Angaben zufolge informierte der Sicherheitsforscher Valve im Februar über die Lücke. Er gibt an, dass die Entwickler bereits acht Stunden nach der Meldung eine gefixte Beta-Version des Clients veröffentlicht haben.
Für eine erfolgreiche Attacke hätte ein Angreifer lediglich präparierte UDP-Pakete an einen verwundbaren Client schicken müssen. Folglich wäre es in einer internen Bibliothek zu einem Speicherfehler (buffer overflow) gekommen und Angreifer hätten Schadcode platzieren können.
Da nun eine reparierte Version des Clients im Umlauf ist, hat der Sicherheitsforscher ausführliche Details zur Lücke und Angriffen veröffentlicht. In einem Proof-of-Concept-Video startet er den Windows-Tachenrechner. (des)