Buffer Overflows in RealPlayer und HelixPlayer

Über den Fehler soll es möglich sein, einen PC zu kompromittieren. Der fehlerhafte Programmcode ist im Quelltext von den Entwicklern bereits als potenziell unsicher markiert gewesen.

In Pocket speichern vorlesen Druckansicht 36 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

In RealPlayer und dessen OpenSource-Version HelixPlayer steckt eine Lücke, über die es nach Angaben des Sicherheitsdienstleisters iDefense möglich sein soll, einen Rechner zu kompromittieren. Im einfachsten Fall stürzt die Anwendung nur ab.

Ursache des Problems ist die Verwendung der unsicheren C-Funktion strncpy() in der Player-Funktion SmilTimeValue::parseWallClockValue() zur Verarbeitung der Zeitangaben in SMIL-Mediadateien. Aufgrund der unzureichenden Prüfung der Puffergröße kann es durch manipulierte Zeitangaben zu einem Buffer Overflow kommen, mit dem sich Code auf den Stack der Anwendung schreiben und im Kontext des Anwenders ausführen lässt.

Interessanterweise ist der verursachende Fehler strncpy(buf, pos, len); im HelixPlayer-Quellcode mit einem zusätzlichen Kommentar /* Flawfinder: ignore */ versehen, was darauf hinweist, dass die Sourcen mit dem Sicherheitslücken-Such-Tool FlawFinder bereits analysiert wurden. Mit dem Ignore-Kommentar unterdrückt man aber die Fehlermeldung für die betroffene Zeile. Somit dürfte seit Längerem bekannt sein, dass dort eine potenzielle Schwachstelle vorhanden ist. Im HelixPlayer-Quellcode finden sich noch weitere Ignore-Einträge bei unsicheren C-Funktionen.

Für einen erfolgreichen Angriff muss ein Opfer eine manipulierte SMIL-Datei öffnen oder eine bösartige Webseite besuchen. Der Fehler wurde von iDefense für den HelixPlayer und den RealPlayer 10.5-Gold bestätigt, vorhergehende Versionen dürften ebenfalls betroffen sein. Laut iDefense soll RealNetworks ein Update zum Schließen der Lücken bereitgestellt haben, allerdings ist auf den Sicherheitsseiten des Herstellers der letzte Eintrag auf den 22. März 2006 datiert. Auf den Download-Seiten sollen aber bereits die fehlerbereinigten Versionen zum Download bereitstehen.

Siehe dazu auch:

(dab)