Impact
Een geverifieerde aanvaller kan willekeurige PHP-code uitvoeren op de onderliggende webserver [S1]. Dit maakt volledige systeemcompromis mogelijk, inclusief data-exfiltratie, wijziging van de site-inhoud en zijdelingse verplaatsing binnen de hostingomgeving [S1].
Oorzaak
Het beveiligingslek bestaat in de SPIP-sjablooncomponist en -compilercomponenten [S1]. Het systeem slaagt er niet in om invoer binnen specifieke sjabloontags correct te valideren of op te schonen bij het verwerken van geüploade bestanden [S1]. Met name verwerkt de compiler op onjuiste wijze vervaardigde INCLUDE- of INCLURE-tags in HTML-bestanden [S1]. Wanneer een aanvaller toegang krijgt tot deze geüploade bestanden via de actie valider_xml, worden de kwaadaardige tags verwerkt, wat leidt tot uitvoering van PHP-code [S1].
Betrokken versies
- SPIP versies 3.1.2 en alle eerdere versies [S1].
Sanering
Update SPIP naar een versie nieuwer dan 3.1.2 om deze kwetsbaarheid [S1] op te lossen. Zorg ervoor dat de machtigingen voor het uploaden van bestanden strikt beperkt zijn tot vertrouwde beheerders en dat geüploade bestanden niet worden opgeslagen in mappen waar de webserver ze kan uitvoeren als scripts [S1].
Hoe FixVibe erop test
FixVibe kan dit beveiligingslek op twee manieren detecteren:
- Passieve vingerafdrukken: Door HTTP-antwoordheaders of specifieke metatags in de HTML-bron te analyseren, kan FixVibe de actieve versie van SPIP [S1] identificeren. Als de versie 3.1.2 of lager is, wordt er een zeer ernstige waarschuwing [S1] geactiveerd.
- Repository scannen: Voor gebruikers die hun GitHub-repository's verbinden, kan de repositoryscanner van FixVibe afhankelijkheidsbestanden of versiebepalende constanten in de SPIP-broncode inspecteren om kwetsbare installaties [S1] te identificeren.
