Valve heeft volgens securityonderzoekers van Avast een JavaScript-kwetsbaarheid 15 maanden lang ongepatcht laten zitten in de online game Dota 2, die de library gebruikt. In de tussentijd is het beveiligingsgat uitgebuit door een aanvaller, maar wel op kleine schaal.
Volgens een verhaal van Ars Technica, dat zich baseert op het onderzoeksrapport van Avast, gaat het om CVE-2021-38003. Deze heeft een severity score van 8,8 en kan gebruikt worden om een keten aan exploits uit te voeren, omdat JavaScript in dit geval niet sandboxed is. Deze kwetsbaarheid zit in de JavaScript Engine V8 en is door Google gepatcht in oktober 2021, maar Valve bracht pas in januari 2023 een update uit voor Dota 2 waarin dit verholpen werd. Het deed dat nadat Avast het bedrijf op de hoogte bracht van de situatie. De hacker was actief tot maart 2022.
De kwetsbaarheid werd uitgebuit in de vorm van customspelmodi voor de game. Een enkele user had vier spelmodi op zijn naam staan die de kwetsbaarheid in hun code exploiteerden. Opvallend is dat hij of zij dit eerst nog redelijk zuiver leek aan te pakken, met de naam 'test addon plz ignore' en een bestand genaamd 'evil.lua', wat niet erg onopvallend is. De overige drie spelmodi die de kwetsbaarheid benutten, heetten Overdog no annoying heroes, Custom Hero Brawl en Overthrow RTZ Edition X10 XP. Ook in de code was de exploit hier veel minder opvallend.
De onderzoekers vertellen aan Ars hoe de exploit uiteindelijk in zijn werk ging. Spelers startten de malafide spelmodus op en op de achtergrond werd contact gezocht met de command-and-controlserver die de vermoedelijke exploitcode voor de bovengenoemde CVE binnenhaalt, die het doelwit vervolgens uitvoert, met als resultaat de mogelijkheid tot shellcode execution bij het doelwit. Tegenover de onderzoekers liet Valve weten dat minder dan 200 spelers getroffen zijn door deze exploit.
De onderzoekers twijfelen een beetje, maar gaan er toch van uit dat de intenties van de hacker malafide waren. Ook al konden ze geen bewijs vinden van kwaadaardige payloads en werd in eerste instantie aangeraden om een spelmodus niet te downloaden, rekenen de onderzoeker het deze persoon aan dat hij of zij niet naar Valve is gegaan met een melding van de kwetsbaarheid. "Dat is over het algemeen wel zo aardig om te doen." Ook de progressie in het verhullen van de kwaadaardigheid is veelzeggend.
Ars vroeg Valve om commentaar voor dit verhaal. Vermoedelijk hebben ze daarbij ook gevraagd waarom het bedrijf zo lang heeft gewacht met deze patch introduceren. Valve heeft niet gereageerd.
De eerste spelmodus (links), waar nog afgeraden wordt om hem te downloaden, en de meer subtiele modus (rechts) die wellicht slachtoffers heeft gemaakt. Bron: Avast