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:
* RealNetworks RealPlayer/HelixPlayer SMIL wallclock Stack Overflow Vulnerability, Fehlerbericht von iDefense ->
http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=547Quelle :
www.heise.de