Onderzoekers hebben een kwetsbaarheid ontdekt in het veelgebruikte Radius-authenticatieprotocol. Daarin zit een collisionbug die het mogelijk maakt een man-in-the-middle-aanval uit te voeren. Dat kan omdat de serverauthenticatie op het MD5-hashalgoritme draait.
De onderzoekers noemen de kwetsbaarheid Blast-Radius. Dat is ook waar de kwetsbaarheid zich bevindt: in het Remote Authentication Dial-In User Service-protocol. Dat is een oud, maar nog steeds veelgebruikt authenticatieprotocol dat voornamelijk nog op zakelijke netwerkapparatuur wordt gebruikt. Ook wordt het gebruikt om verbindingen te leggen in glasvezelaansluitingen of vpn's. De kwetsbaarheid wordt getrackt als CVE-2024-3596. Volgens de onderzoekers zijn alle Radius-implementaties die via UDP werken kwetsbaar. Meerdere fabrikanten hebben inmiddels patches uitgebracht voor de bug. De onderzoekers raden beheerders aan bij die specifieke fabrikanten aan te kloppen voor een oplossing. Daarnaast hebben de onderzoekers een mitigatie beschreven.
De bug is in feite een MD5-collisionaanval, maar is volgens de onderzoekers wel ingewikkelder dan een normale aanval. Radius maakt namelijk nog steeds gebruik van MD5, een hashalgoritme dat al zeker twintig jaar niet meer als veilig wordt gezien. "Hoewel een MD5-collision al in 2004 voor het eerst werd aangetoond, leek het lang niet mogelijk om dit in de context van het Radius-protocol uit te buiten", schrijven de onderzoekers.
De kwetsbaarheid zit in de manier waarop Radius een Access-Accept-response valideert bij het leggen van een authenticatie. Dat gebeurt met een MD5-hash die al na enkele minuten een time-out geeft. Daardoor leek het lang niet mogelijk een serieuze collisionaanval uit te voeren, omdat een aanvaller daar meer dan die enkele minuten voor nodig heeft.
De onderzoekers zeggen nu een zogenaamde chosen-prefix-collision uit te kunnen voeren. Dat is mogelijk, omdat Access-Request-packets geen integriteitscontroles hebben. De onderzoekers demonstreren in hun aanval dat ze op die manier de Access-Request kunnen aanpassen met een eigen prefix, zodat het makkelijker wordt een collision uit te voeren.
In de praktijk duurt het nog steeds minuten voor zo'n collision plaats kan vinden, zeggen de onderzoekers. Die hebben een proof-of-concept gemaakt waarin ze drie tot zes minuten nodig hadden om een collision te berekenen. Maar, merken de onderzoekers op, hun algoritme kan makkelijk worden geoptimaliseerd op verschillende hardware, waardoor een aanvaller met de juiste middelen tientallen tot honderden keren sneller kan opereren.