Een kritieke kwetsbaarheid in PHP, geïdentificeerd als CVE-2024-4577, vormt een direct risico voor webservers die op Windows draaien in combinatie met Apache en PHP-CGI. De fout maakt het voor aanvallers mogelijk om de broncode van webapplicaties te stelen of willekeurige code op de server uit te voeren. Beheerders worden met spoed geadviseerd om hun PHP-installaties bij te werken naar de nieuwste versies.
Wat is er aan de hand?
De kwetsbaarheid, CVE-2024-4577, treft PHP-versies 8.1 tot en met 8.1.28, 8.2 tot en met 8.2.19, en 8.3 tot en met 8.3.7. Het probleem doet zich specifiek voor in een veelgebruikte configuratie: PHP-CGI op een Windows-besturingssysteem in combinatie met een Apache-webserver. Systemen die andere configuraties gebruiken, zoals Nginx, of op Linux-gebaseerde besturingssystemen draaien, worden in principe niet door deze specifieke fout getroffen.De oorzaak: “Best-Fit” argument injection
De kern van het probleem ligt in de manier waarop het Windows-besturingssysteem omgaat met tekens in command-line argumenten. Een feature genaamd “Best-Fit” probeert automatisch onbekende of niet-standaard tekens te vervangen door een vergelijkbaar, wel ondersteund teken. Aanvallers kunnen een speciaal gefabriceerde URL sturen met een onzichtbaar teken (soft hyphen), dat door Windows wordt omgezet in een normaal koppelteken (‘-‘). De PHP-CGI module interpreteert dit koppelteken vervolgens als het begin van een nieuwe optie, zoals ‘-d’ of ‘-s’. Hierdoor kan een aanvaller PHP-instellingen manipuleren en commando’s injecteren.Ben ik kwetsbaar en wat kan ik doen?
Om te bepalen of uw systeem kwetsbaar is, controleert u de volgende drie punten: 1. Draait uw server op Windows? 2. Gebruikt u een Apache-webserver met de PHP-CGI module? 3. Is uw PHP-versie een van de volgende: 8.1.* (voor 8.1.29), 8.2.* (voor 8.2.20), of 8.3.* (voor 8.3.8)? Als het antwoord op alle drie de vragen ‘ja’ is, is actie vereist. De enige sluitende oplossing is om uw PHP-installatie onmiddellijk te updaten naar de laatste, gepatchte versie (8.1.29, 8.2.20, of 8.3.8). Deze updates bevatten de benodigde correcties om de kwetsbaarheid te verhelpen.CVE-2024-4577 is een serieuze kwetsbaarheid die actieve uitbuiting waarschijnlijk maakt vanwege de eenvoud van de aanval. Beheerders van Windows-gebaseerde webservers die Apache en PHP-CGI gebruiken, moeten niet wachten en hun systemen onmiddellijk bijwerken. Het negeren van dit risico kan leiden tot datalekken, code-executie en volledige compromittering van de server.

