Een lek in de Mac-versie van de populaire videoconferentieapp Zoom maakt het mogelijk om mee te kijken met andere webcams. Zoom noemt dat zelf een 'work-around' voor beperkingen in macOS.
Het lek werd in mei ontdekt door een beveiligingsonderzoeker die het aan Zoom meldde. Inmiddels heeft het bedrijf een patch uitgebracht. Onderzoeker Jonathan Leitschuh publiceert nu details, maar zegt daarin ook dat sommige reparaties die Zoom heeft doorgevoerd, slechts pleisters op de wonden zijn. Zoom zegt naar aanleiding van de kwetsbaarheid een bug bounty-programma te beginnen.
Zoom is een videoconferentieapp die door meer dan vier miljoen gebruikers op de Mac wordt gebruikt. Met de app kunnen voornamelijk zakelijke gebruikers gesprekken opzetten door deelnemers toe te voegen aan een call. De authenticatie daarvoor blijkt echter te wensen over te laten.
Als een gebruiker Zoom installeert op een Mac, wordt er een lokale server geactiveerd. Via die server is het vervolgens mogelijk om nieuwe Zoom-gebruikers aan een gesprek toe te voegen. Daarvoor wordt gebruikgemaakt van een api, zodat ook andere apps of websites met de Zoom-app kunnen communiceren. Volgens Leitschuh geeft dat aan dat de app veel meer mogelijkheden heeft dan nodig zijn. "Het feit dat je een app installeert die een webserver op mijn lokale machine zet en waarvan de api niet gedocumenteerd is, vind ik erg dubieus", schrijft hij. "En als iedere website die ik bezoek kan reageren met deze website die op mijn machine draait, dan zie ik dat als een groot gevaar." Leitschuh wist de api zo te manipuleren dat hij met een simpel HTTP GET-request toegang kon krijgen tot iedere Zoom-meeting waarvan hij het conferentienummer wist.
Leitschuh ontdekte dat Zoom geen standaard AJAX-requests gebruikt, maar dat de server afbeeldingen gebruikt en van maat verandert om bepaalde statusmeldingen te tonen. Als de verhouding bijvoorbeeld 1 bij 1 is, is er niets aan de hand, maar een 2 bij 3-verhouding betekent dat er een fout zit in het downloaden van een update. Volgens de onderzoeker gebruikt Zoom die vrij unieke aanpak om de Cross-Origin Resource Sharing of CORS van Safari 12 te omzeilen. Zo ontdekte hij dat de app veel meer toegang tot het systeem had dan hij aanvankelijk dacht. Het feit dat Zoom als een dergelijke lokale server draait, betekent volgens de onderzoeker ook dat een eventuele toekomstige kwetsbaarheid veel schade kan betekenen voor de machine van een slachtoffer. Hij verwijst daarbij bijvoorbeeld naar een kwetsbaarheid die een half jaar geleden werd gedicht in Zoom en waarmee van een afstand code kon worden uitgevoerd op een machine.
Zoom heeft inmiddels een patch doorgevoerd die een deel van de kwetsbaarheid repareert. Zo wordt nu standaard een handtekening toegevoegd aan een request, maar volgens Leitschuh zijn er dan nog steeds mogelijkheden om het lek uit te buiten. Ook kunnen hosts voorkomen dat nieuwe gebruikers in een call direct toegang krijgen tot de video. Leitschuh zegt dat het lek kan worden uitgebuit met een drive-by-download, bijvoorbeeld als een gebruiker via phishing een geïnfecteerde website bezoekt.
Update 10 juli: Zoom gaat het gebruik van een lokale server alsnog stopzetten. Er komt een software-update waarmee de servers gelijk worden verwijderd, schrijft het bedrijf in een blogpost. Zoom zegt dat het aanvankelijk geen probleem zag in het gebruik van een lokale server, maar dat na de grote ophef onder gebruikers toch voor een andere oplossing kiest.