Pääsivu | Tiedotteet

Directory traversal -haavoittuvuus RealPlayerin RMP-tiedostoissa

10. helmikuuta 2004

Yleistä

RealPlayer on RealNetworksin kehittämä suosittu multimediasoitin. Yksi sen ominaisuuksista ovat ns. RMP-tiedostot (RealJukebox Metadata Package). Nämä ovat XML-muotoisia tiedostoja, jotka voivat sisältää mm. soittolistoja, viittauksia skin-tiedostoihin (*.rjs) ja tietoa mediaan liittyvistä www-sivustoista. Skin-tiedosto on normaalisti grafiikkaa sisältävä tiedosto, jolla voi muuttaa soitto-ohjelman ulkoasun halutun tyyliseksi.

Ohjelmasta on löytynyt directory traversal -ongelma, joka mahdollistaa hyökkääjälle tiedostojen siirtämisen uhrijärjestelmään haluttuun kansioon hyväksikäyttämällä sopivasti laadittua RMP-tiedostoa. Tämä johtaa puolestaan halutun ohjelmakoodin suorittamiseen nykyisen käyttäjän oikeuksin.

RMP-tiedostot avataan ilman vahvistusta, jos www-sivu käyttää esim. JavaScriptiä tai IFRAME-tagia niihin viitatakseen, joten altistuakseen hyökkäykselle käyttäjän tarvitsee vain vierailla sopivasti laaditulla www-sivulla.

Yksityiskohdat

RMP-tiedosto voi sisältää viittauksia muihin tiedostoihin <TRACK>- tagien muodossa. Viitatun tiedoston pääte määrää, kuinka RealPlayer käsittelee kyseistä tiedostoa: äänenä, kuvana, vai skin-tiedostona. Jos tiedoston nimi päättyy ".rjs", sen oletetaan olevan skin-tiedosto ja RealPlayer lataa sen nykyisen käyttäjän profiilikansion alla olevaan sijaintiin. RealOnePlayerille tarkka sijainti on

  %USERPROFILE%\Application Data\Real\RealOne Player\skins\tiedosto.rjs

Hyökkääjä voi käyttää "..\" -merkkijonoja aiheuttaakseen tiedoston lataamisen yllä olevan kansion sijasta muuhun sijaintiin. Sopivasti laaditulla tiedoston nimellä hyökkääjä voi siis sijoittaa halutun nimisen tiedoston mihin tahansa kohdejärjestelmässä. Tiedostojen ylikirjoittaminen ei tällä tavalla onnistu, koska RealPlayer kysyy tässä tapauksessa vahvistusta.

Ajaakseen halutun ohjelman hyökkääjä voi esim. sijoittaa HTML- ja EXE-tiedostot uhrin järjestelmään käyttämällä yhtä RMP-tiedostoa. RealPlayerin "related info" -ominaisuuden avulla HTML-tiedosto avataan automaattisesti. Se voi käyttää JavaScriptiä käynnistääkseen ladatun EXE-tiedoston. Tämän skenaarion mahdollisuus todennettiin esimerkki-RMP-tiedostolla, joka tekee nämä asiat, kun uhri käy sen sisältävällä www-sivulla. Menetelmä vaatii eräiden paikkaamattomien Internet Explorerin tietoturvaongelmien hyväksikäyttöä.

Toinen tapa on yksinkertaisesti sijoitaa EXE-tiedosto nykyisen käyttäjän Startup-kansioon, josta Windows käynnistää sen seuraavan sisäänkirjautumisen yhteydessä. Hyökkääjän ei tarvitse tietää kirjautumisnimeä; Startup-kansioon pääsemiseksi voidaan käyttää suhteellista polkua, koska skin-tiedostojen lataamiseen tarkoitettu kansio on jo valmiiksi nykyisen käyttäjän kansiohierarkian alla.

Alttiit versiot

RealNetworksin mukaan ongelma koskee seuraavia RealPlayerin versioita: RealOne Player, RealOne Player v2, RealOne Enterprise Desktop, RealPlayer Enterprise.

Korjaus

RealNetworksiin otettiin yhteyttä asian johdosta 24.11.2003. Valmistaja on tehnyt ongelman korjaavan päivityksen. Sama päivitys korjaa myös joitakin tähän ongelmaan liittymättömiä tietoturva-aukkoja, jotka on löytänyt Mark Litchfield. Tietoja päivityksestä ja sen lataamisesta saa seuraavasta osoitteesta:

http://service.real.com/help/faq/security/040123_player/EN/

Tekijä

Ongelman havaitsi, tutki, ja tämän tiedotteen laati Jouko Pynnönen (jouko@iki.fi).