Een beveiligingslek met betrekking tot het uitvoeren van externe code in Bitdefender, bekend als CVE-2020-8102 werd onlangs ontdekt. Specifieker, de kwetsbaarheid lag in de Safepay-browsercomponent in de beveiligingsoplossing.
CVE-2020-8102: technisch overzicht
Hier is de officiële beschrijving van CVE-2020-8102:
Onjuiste kwetsbaarheid voor invoervalidatie in de Safepay-browsercomponent van Bitdefender Total Security 2020 staat een externe toe, speciaal ontworpen webpagina om externe opdrachten uit te voeren binnen het Safepay Utility-proces. Dit probleem is van invloed op Bitdefender Total Security 2020 versies voor 24.0.20.116.
Het kwetsbaarheid werd onthuld door Wladimir Palant, de oorspronkelijke ontwikkelaar van AdBlock Plus. De fout vloeit voort uit de manier waarop Bitdefender gebruikers beschermt tegen ongeldige certificaten.
Als onderdeel van de functionaliteit voor online bescherming, Bitdefender Antivirus inspecteert veilige HTTPS-verbindingen. In plaats van de foutafhandeling aan de browser over te laten, Bitdefender geeft om de een of andere reden de voorkeur aan het weergeven van hun eigen foutpagina's. Dit is vergelijkbaar met hoe Kaspersky het vroeger deed, maar zonder de meeste nadelige effecten. Het gevolg is niettemin dat websites op deze foutpagina's enkele beveiligingstokens kunnen voorlezen, zei de onderzoeker in zijn rapport.
Indien gepresenteerd met een ongeldig of verlopen SSL-certificaat, de meeste browsers vragen de gebruiker het certificaat te accepteren met een waarschuwing. Bitdefender werkt ook op een vergelijkbare manier. Als een gebruiker ervoor kiest om de waarschuwing te negeren, bekend als HSTS (HTTP Strikte transportbeveiliging), dit wordt over het algemeen niet als een veiligheidsrisico beschouwd.
Echter, als de URL in de adresbalk constant blijft, de beveiligingsoplossing zou worden misleid om beveiligingstokens te delen tussen de verdachte pagina en alle andere sites die op dezelfde server worden gehost en die worden uitgevoerd in de virtuele browseomgeving van Bitdefender. Dit probleem is eerder gezien bij Kaspersky-producten. Hier is wat de onderzoeker hierover zegt:
De URL in de adresbalk van de browser verandert niet. Dus wat de browser betreft, deze foutpagina is afkomstig van de webserver en er is geen reden waarom andere webpagina's van dezelfde server er geen toegang toe zouden moeten hebben. Welke beveiligingstokens er ook in zitten, websites kunnen ze voorlezen - een probleem dat we eerder in Kaspersky-producten hebben gezien.
Er is ook een proof-of-concept dat laat zien hoe de kwetsbaarheid werkt. Ervoor, Palant gebruikte een lokale webserver en aanvankelijk een geldige SSL die hij kort na de eerste veranderde met een ongeldige.
Palant demonstreerde dit gedrag via een PoC waarin hij een lokaal werkende webserver had die op het eerste verzoek een geldig SSL-certificaat presenteerde, maar direct daarna naar een ongeldig overschakelde.