Winamp spielt fremden Code ab

Nach einer Meldung von LSS Security führt Winamp in MP3-Dateien eingeschleusten Code aufgrund von Buffer-Overflows aus.

In Pocket speichern vorlesen Druckansicht 329 Kommentare lesen
Lesezeit: 2 Min.
Von

Der beliebte MP3-Player Winamp 5 soll über eine Verkettung von Buffer-Overflows in der ID3v2-Tag-Verarbeitung eingeschleusten Code ausführen, berichtet LSS Security in einem Advisory. MP3-Dateien vertrauen Anwender für gewöhnlich blind, sie enthalten scheinbar ja nur einen Musik-Datenstrom. Dadurch bekommt die Lücke in der ID3-Tag-Verarbeitung besondere Brisanz -- ein Benutzer braucht eine präparierte MP3-Datei nur mit Winamp abzuspielen, um schadhaften Code auf seinem System auszuführen.

Der Fehler tritt durch eine Verkettung von Heap-Overflows auf. Durch einen überlangen Eintrag im ID3v2-Tag, beispielsweise bei ARTIST oder TITLE, läuft der hierfür reservierte Heap-Bereich über und überschreibt die Quell-Adresse für eine strcpy()-Funktion. Der Aufruf dieses strcpy() wiederum kann einen Bereich überlaufen lassen, der die Zieladresse einer jump-Anweisung enthält -- diese könnte man somit auf eigenen Code umbiegen. Vor die strcpy()-Funktion haben die WinAmp-Entwickler allerdings noch eine Plausibilitätsprüfung gestellt. Die Prüfung ist allerdings sehr rudimentär, sie vergleicht nur, ob die Quell-Adresse des strcpy() einen bestimmten Wert enthält. Dies dürfte für einen potenziellen Angreifer keine ernst zu nehmende Hürde darstellen.

Ein Demo-Exploit stellt das Advisory auch gleich bereit. Erfolgreich hat LSS Security diesen bislang auf Windows XP mit Service Pack 1 und einem Windows 2000 ohne Service Packs zur Ausführung gebracht. Es ist bislang noch unklar, ob auch Systeme wie beispielsweise Windows XP mit Service Pack 2 angreifbar sind, die mit zusätzlichen Schutzmechanismen gegen Pufferüberläufe ausgerüstet sind. Ein Workaround steht noch nicht zur Verfügung, die WinAmp-Entwickler haben gegenüber LSS Security jedoch eine aktualisierte Version des Players in den nächsten Tagen angekündigt.

Siehe dazu auch: (dmk)