Google heeft een exploit gepubliceerd voor twee Bluetooth-kwetsbaarheden in de Linux-kernel waardoor het mogelijk is voor een ongeauthenticeerde aanvaller om op afstand en zonder interactie van het slachtoffer code met kernelrechten op kwetsbare systemen uit te voeren. Daarnaast is er een uitgebreide analyse online verschenen waarin Google-engineer Andy Nguyen de twee kwetsbaarheden en een derde beveiligingslek in detail beschrijft.

De drie kwetsbaarheden, CVE-2020-24490, CVE-2020-12352 en CVE-2020-12351, hebben de naam “BleedingTooth” gekregen en zijn aanwezig in BlueZ, de officiële Linux Bluetooth protocol stack. Vorig jaar werden de beveiligingslekken in de Linux-kernel verholpen, waarop Nguyen nu de details en exploit openbaar heeft gemaakt.

CVE-2020-24490 betreft een buffer overflow in BlueZ waardoor een denial of service of het uitvoeren van code mogelijk is. Dit lek werd in versie 4.19 van de Linux-kernel geïntroduceerd. Via CVE-2020-12352, een informatielek, is het mogelijk om de geheugenlay-out te achterhalen. De derde kwetsbaarheid, CVE-2020-12351, laat een aanvaller zijn rechten verhogen. Het beveiligingslek is sinds Linux-kernel 4.8 in de kernel aanwezig. Door de drie beveiligingslekken te combineren is remote code execution mogelijk.

De nu gepubliceerde exploit laat een aanvaller calculator op het aangevallen systeem starten. De exploit is getest op een Dell XPS 15 met Ubuntu 20.04.1 LTS. Vanwege het werk van Nguyen werd besloten om de Bluetooth High Speed feature in de Linux-kernel standaard uit te schakelen en zo het aanvalsoppervlak te verkleinen. Door deze beslissing wordt de “heap primitive” verwijderd die de onderzoeker als onderdeel van zijn aanval gebruikte voor het alloceren van geheugen. Hieronder een videodemonstratie van de aanval.

Image

Source