Kwetsbaarheid in OpenWrt laat hackers eigen software uitvoeren

Een kwetsbaarheid in de manier waarop OpenWrt de integriteit van softwarepakketten nakijkt, laat aanvallers toe om eigen code te injecteren en met root-privileges uit te voeren.

De populaire opensource-routersoftware OpenWrt is kwetsbaar voor aanvallen. Dat ontdekte een onderzoeker van beveiligingsspecialist ForAllSecure. Het lek kreeg de naam CVE-2020-7982 mee. De bug treft miljoenen toestellen wereldwijd.

Het probleem schuilt in de manier waarop de package manager in OpenWrt’s opkg-fork de integriteit van pakketjes nakijkt. Opkg is een tool op OpenWrt waarlangs een gebruukers software downloadt. In principe moet de tool te integriteit van een pakket checken aan de hand van een SHA-256-checksum. Als die checksum echter begint met enkele spaties, gaat de controle niet door.

Malafide code injecteren

Softwarepakketten voor OpenWRT worden gedownload via een onbeveiligde HTTP-verbinding, wat de integriteitscheck essentieel maakt. Het lek laat de aanvaller toe om een man in the middle-aanval uit te voeren en een legitiem pakket te vervangen door eentje met kwaadaardige code. Om de aanval succesvol uit te voeren, moet de hacker er wel voor zorgen dat het malafide pakket even groot is als het originele. Is dat het geval, dan wordt het zomaar geïnstalleerd op de router waar de code met root-privileges wordt uitgevoerd.

De zero-day-kwetsbaarheid zat drie jaar lang onopgemerkt in OpenWrt. Gebruikers van het besturingssysteem voor hun router of IoT-toestel doen er goed aan om de software zo snel mogelijk een update te geven. Je kan de OpenWrt-software zelf upgraden maar het volstaat om de nieuwste versie van de Opkg-tool te installeren. OpenWrt versies 18.06.0 tot 18.06.6, 19.07.0 en LEDE 17.01.0 tot 17.01.7 zijn kwetsbaar. Een fix is geïntegreerd in OpenWrt 18.06.7, OpenWrt 19.07.1 en alle toekomstige releases.