Code-execution-fout in WinRAR was 14 jaar lang risico voor gebruikers

WinRAR, een file compression-programma voor Windows met wereldwijd 500 miljoen gebruikers, heeft een kwetsbaarheid van ruim 14 jaar oud opgelost. De kwetsbaarheid maakte het voor aanvallers mogelijk om malafide code uit te voeren als een doelwit een bestand met een booby-trap opende, meldt Ars Technica.

De kwetsbaarheid was het resultaat van een absolute path traversal flaw die in UNACEV2.DLL zat. Dat is een code library van een derde partij die sinds 2005 geen update meer heeft gehad. Door de fout werd het mogelijk voor archiefbestanden om een map naar keuze van de maker van dat archief uit te pakken, in plaats van de map die gekozen werd door de gebruiker van het programma.

Onderzoekers van Check Point Software, die de kwetsbaarheid vonden, vonden een manier om malafide code uit te voeren. Ze maakten een exploit die de code van hun keuze in de Windows-startup plaatste, waar deze uitgevoerd zou worden als Windows opnieuw werd opgestart.

Dit kon niet door een uitvoerbaar bestand toe te voegen aan de Windows startup-map. Daarvoor moest WinRAR meer privileges of integriteitsniveaus hebben dan dat het standaard krijgt. Daarom maakten de onderzoekers een proof-of-concept dat de startup-map ten onrechte representeert.

Kwetsbaarheid gedicht

WinRAR zei eind vorige maand dat de kwetsbaarheid is gedicht. “UNACEV2.DLL was sinds 2005 niet geüpdatet en we hebben geen toegang tot zijn broncode”, aldus werknemers van het bedrijf. “We hebben daarom besloten om ondersteuning voor ACE archive format te stoppen, om de veiligheid van WinRAR-gebruikers te beschermen.”

De kwetsbaarheid bestond de volledige 14 jaar in WinRAR, sinds de bibliotheek gemaakt was. Mogelijk bestond de kwetsbaarheid zelfs al eerder, aldus onderzoekers van Check Point. Ook vergeleken ze hun proof-of-concept expoit met zero-days-aanvallen waar Zerodium van zegt dat hij er 100.000 dollar voor zou betalen. Of dat een goede vergelijking is, is niet duidelijk.