Unauthorized Cloudflare Worker injected fake CAPTCHA / ClickFix page on my domains
One of my sites started showing a fake “Cloudflare human verification” page asking visitors to press Windows + R, then Ctrl + V, then Enter. The clipboard contained a suspicious command using cmd / rundll32, so it was clearly not a real Cloudflare challenge.
At first I thought the problem was on the website/server side: WordPress, plugins, theme, .htaccess, injected JavaScript, cache, etc.
But after checking, the origin server looked clean.
The real issue was inside Cloudflare.
In my Cloudflare dashboard I found an unknown Worker named something like:
holy-recip-aeba
It had been attached to multiple domains through Worker Routes.
In the Cloudflare Audit Log I found the full sequence:
- LOGIN success from suspicious IP
- Create Token: "Cloudflare Agent (auto-generated)"
- Upload Worker Module
- Create Worker Routes on several domains
The Worker was then injecting the fake Cloudflare / ClickFix page before the request reached users.
So in my case, this was not caused by WordPress, not by the hosting server, and not by Cloudflare itself intentionally. It was an unauthorized Cloudflare Worker created after the account was compromised.
What I did to fix it:
- Removed all Worker Routes linked to the unknown Worker.
- Deleted the malicious Worker.
- Purged Cloudflare cache on all affected domains.
- Changed my Cloudflare password.
- Enabled 2FA.
- Regenerated the Global API Key.
- Checked and removed suspicious API tokens.
- Reviewed Audit Logs for login, token creation, Worker upload, and route creation events.
- Checked Google/Gmail security and local PC/browser extensions.
My advice: if you ever see a fake Cloudflare CAPTCHA asking users to run commands with Win + R, don’t only scan WordPress. Also check:
- Cloudflare → Workers & Pages
- Cloudflare → Worker Routes
- Cloudflare → Audit Log
- Cloudflare → API Tokens
- Cloudflare → Global API Key
- Cloudflare → Account Members
This type of attack can make a clean site look infected because the malicious code is injected at the Cloudflare edge.
Hope this helps someone.