Windows-apps blijken kwetsbaar als ze op Linux ontwikkeld zijn

Over het algemeen wordt gedacht dat Windows-apps die op Linux ontwikkeld zijn veiliger zijn. Maar dat blijkt niet te kloppen. In een aantal Linux-distributies blijkt er een probleem te zijn met een compiling-tool voor het bouwen van de Windows-apps, waardoor een exploit-mitigation feature niet goed geïmplementeerd wordt.

Dat meldt het Computer Emergency Response Team van Carnegie Mellon University (CERT/CC). Het probleem bevindt zich in de mingw-w64 of Minimalist GNU for Windows for 64-bit PC’s tool. Die implementeert een Windows-feature die bekend staat als Adress Space Layout Randomization (ASLR) niet correct.

Misbruik ASLR

ASLR is een breed gebruikte techniek die ontwikkeld is om bepaalde exploits tegen te werken, die geheugenadressen proberen te voorspellen. Om dat aan te pakken, worden de adressen willekeurig samengesteld. Het wordt al sinds 2002 gebruikt door Windows en door Linux-distributies.

De afgelopen vijf jaar gebruiken ontwikkelaars mingw-w64 al om Windows-executables te genereren. Die zouden ASLR-compatibel moeten zijn, iets dat niet werkt doordat een essentiële ‘recolations table’ voor de adressen mist. Als gevolg daarvan laat een Windows-app zich niet goed beschermen tegen exploits die gebruik maken van kwetsbaarheden in de executables.

Oplossing mogelijk

Om ASLR te laten werken, moeten Windows-executables een relocations table hebben. Dat die er nu niet is, betekent dat de mingw-w64 kwetsbaar is voor aanvallen die misbruik maken van softwarematige kwetsbaarheden. Daardoor kunnen aanvallers zichzelf toegang verschaffen tot een computer, zelfs als het apparaat goed beschermd is.

CERT/CC weet niet of er een praktische manier is om de missende tabellen te repareren. De kwetsbaarheid, die CVE-2018-5392 heet, kan wel opgelost worden bij het compileren van een app. In de advisory van CERT/CC is te lezen hoe de workaround toegepast kan worden.