Een kritieke kwetsbaarheid in Cloudflare’s Web Application Firewall (WAF) gaf aanvallers op eenvoudige wijze toegang tot anderszins afgeschermde servers. Onderzoekers van FearsOff ontdekten dat verzoeken via de /.well-known/acme-challenge/ directory zomaar goedgekeurd werden.
Cloudflare loste het probleem gelukkig maanden geleden al op. De kwetsbaarheid maakte misbruik van het ACME-protocol (Automatic Certificate Management Environment), dat SSL/TLS-certificaten automatisch valideert. Certificate Authorities stellen de eigenaar van een site vast door websites een eenmalige token te laten aanbieden op het pad /.well-known/acme-challenge/{token}.
Web-admins maken gebruik van dit pad om automatisch certificaten te laten overhandigen. Het is een van de voordelen van Cloudflare-gebruik, want handmatige verbeteringen van certificaten zijn hierdoor te ontzorgen.
Cloudflare schakelde WAF-functies uit voor dit specifieke pad om certificaten zonder frictie te laten vervetsen. Maar er ontstond een kritieke fout: als de opgevraagde token niet overeenkwam met een Cloudflare-certificaatbevel, ging het verzoek direct langs de WAF-evaluatie heen en rechtstreeks naar de client server. Zo werden Cloudflare-hosts op grote schaal kwetsbaar.
Aanvalspaden tegen frameworks
Meerdere exploits vanuit de onderzoekers bleken voor aanvallers bijzonder interessant. Alles van database-credentials tot API- en cloud-tokens konden aangetroffen worden dankzij de kwetsbaarheid.
PHP-applicaties met local file inclusion-kwetsbaarheden werden exploiteerbaar, waarbij aanvallers het bestandssysteem konden benaderen via kwaadaardige path-parameters. FearsOff creëerde demonstratie-hosts zoals cf-php.fearsoff.org om aan te tonen dat normale requests blockpagina’s opriepen, maar ACME-path requests antwoorden van de origin-server terugstuurden.
Snelle respons en permanente fix
FearsOff meldde de kwetsbaarheid op 9 oktober via Cloudflare’s HackerOne bug bounty-programma. Cloudflare startte de validatie op 13 oktober, waarna HackerOne het probleem op 14 oktober trieerde. Het bedrijf implementeerde een permanente oplossing op 27 oktober door de code aan te passen: beveiligingsfuncties worden nu alleen uitgeschakeld wanneer requests matchen met geldige ACME HTTP-01 challenge tokens voor de specifieke hostname.
Tests achteraf bevestigen dat WAF-regels nu uniform gelden voor alle paden, inclusief het eerder kwetsbare ACME challenge-traject. Cloudflare stelt dat geen actie vereist is vanuit klantenz en bevestigt dat er geen bewijs van werkelijke exploitatie ‘in the wild’ is gevonden.
Lees ook: Cloudflare introduceert nieuw weerbaarheidsplan na reeks storingen