Sårbarheten rör funktionen ”Pathcchcanonicalize" som är det officiella API:et som Windows rekommenderar utvecklare att använda för att skydda program mot så kallade Path-Traversal-attacker.
– Vår upptäckt har två viktiga delar. Den ena delen är att IT-personal i stora företag som använder Windows bör installera Microsofts februari-patch, CVE 2020-0655, för att se till att deras RDP-klient är skyddad. Den andra delen är viktig för alla utvecklare. Microsoft har inte åtgärdat sårbarheten i deras officiella API, vilket gör att många program som skrivits enligt Microsofts rekommendationer fortfarande kan ha säkerhetshål. Vår rekommendation är att utvecklare går över sina program för att patcha dem manuellt, säger Mats Ekdahl, säkerhetsexpert hos Check Point.
Path-Traversal är en typ av attack där angriparen lurar en applikation att läsa och därefter avslöja innehållet i filer utanför applikationens eller webbserverns dokumentmapp. Detta innebär att en angripare kan spara en fil i vilken mapp som helst på din dator, istället för att den sparas i den avsedda mappen, eller läsa filer som inkräktarna inte ska ha tillgång till.
Med hjälp av denna teknik kan angripare ändra viktiga filer som program och bibliotek, ladda ner lösenordsfiler, exponera källkoden för webbapplikationen eller utföra kraftfulla kommandon på en webbserver. Detta kan i sin tur leda till stora förändringar av själva webbservern.
Check Point identifierade först sårbarheten i Microsofts Remote Desktop Protocol (RDP) 2019. Microsoft RDP ger fjärråtkomst och inmatningsmöjligheter över nätverksanslutningar för Windows-baserade applikationer som körs på en server. Denna teknik gör det möjligt att fjärransluta till en dator och arbeta med den precis som om den var din egen. Check Point visade att en fjärransluten dator infekterad med skadlig kod kunde ta över alla klienter som försöker ansluta sig till den datorn. Om till exempel en IT-tekniker försöker fjärransluta sig till en dator i ett företag som är infekterad med skadlig kod skulle den skadliga koden också kunna attackera IT-teknikerns dator. Check Points forskare kallar denna attackvektor ”Reverse RDP”, eftersom en användare av RDP tror att de kontrollerar en dator på distans, medan säkerhetshålet möjliggör det motsatta.
Microsoft åtgärdade snabbt sårbarheten i Microsofts Remote Desktop Protocol (RDP). Men, i oktober 2019 upptäcktes att den patchen (CVE-2019-0887) också hade säkerhetsbrister, vilket gjorde att Check Point kunde gå förbi åtgärden och ändå ta sig in i systemet. Check Point fick reda på att Microsoft använde “Pathcchcanonicalize” i sin patch, vilket fick dem att dra slutsatsen att felet låg i den officiella API-funktionen “Pathcchcanonicalize”.
Check Point informerade Microsoft om sina upptäckter och Microsoft släppte en ny korrigeringsfil (CVE 2020-0655) för Reverse RDP-felet i februari 2020. Trots att RDP är rättat använder många program Microsofts funktion (Pathchcanonicalize), vilket gör dem sårbara. Check Point har informerat Microsoft om de senaste resultaten och upptäckterna kommer att offentliggöras.