How Click2Shell Reached PHP Execution
The Core flaw begins at `/wp-admin/theme-install.php?theme=...`. WordPress.org canonicalizes the crafted value to a real catalog slug, while the administrator's browser reuses the unescaped original value as a jQuery selector. Injected selector syntax reaches the genuine Install control, and WordPress spends the administrator's nonce and `install_themes` capability. The theme remains inactive, but a Customizer request can load its PHP. Mobile Repair Zone 2.5.4 then registered an authenticated AJAX installer without its own nonce or capability check. That handler accepted a plugin URL, fetched the package, wrote it under the plugins directory, unpacked it, and loaded the selected PHP entry point. The Core primitive alone is forced catalog-theme installation; PHP execution requires the second flaw.
Why BitFire's Existing Layers Did Not Stop It
Click2Shell crossed our controls in ways they were not designed to reject. The administrator used a real, verified browser, so Bot Protection correctly treated the visitor as human. The first request carried selector syntax rather than SQL injection, XSS, object injection, traversal, or another standard WAF payload class. The follow-on AJAX POST used ordinary-looking plugin metadata, while the vulnerable server fetched the ZIP itself instead of receiving a malicious file upload for inspection. Most importantly, the attack rode a valid administrator session. At disclosure, BitFire had no origin-aware rule that treated an off-site POST to `admin-ajax.php` as unauthorized. We therefore cannot claim the standard WAF or BitFire PRO RASP stopped this chain: they did not.
Firewall Mitigation Deployed September 20
On Sunday, September 20 the day after public disclosure, BitFire pushed new firewall filtering rules to free and PRO clients that block this specific clik2shell attack. This targets the initial link an attacker must trick an administrator into clicking to exploit the vulnerability. The mitigation does not repair WordPress Core or clean an already compromised site. It is a focused request-layer interruption based on provenance, not a claim that the selector-injection payload matches a generic WAF signature. Site owners should still install WordPress 7.1.1 or later as soon as possible to address this and other vulnerabilities.
BitFire PRO RASP Protection Is Being Expanded
BitFire is investigating a BitFire PRO RASP control that will prevent off-site POSTs to `/wp-admin/admin-ajax.php`, closing the trust gap that let a foreign page drive a sensitive action through a legitimate administrator browser. The control is scheduled to roll out to PRO clients in alert-only mode during September. Alert mode records matches but does not block them, giving us evidence about legitimate integrations and false positives. After one month of evaluation with no false positives, enforcement will move to blocking. This mechanism is broader than a Click2Shell signature: RASP clients will receive protection against future vulnerabilities in the same class, where an external origin attempts to invoke an AJAX operation through an authenticated WordPress session.
If Your Site Was Affected, Investigate for Persistence.
WordPress 7.1.1 escapes the URL-derived slug with `$.escapeSelector()` and limits the selector to a real `div.theme` card, preventing the forced Install click. Patch immediately, and remove or update Mobile Repair Zone 2.5.4 when a vendor-fixed release is available. Patching closes the known routes but does not remove an earlier compromise. Sites that ran affected software should investigate, remove discovered persistence, and rotate relevant WordPress, hosting, database, SSH, and SFTP credentials. BitFire Threat Hunter can uncover backdoor administrator accounts, hidden database triggers, long-running PHP processes, and droppers capable of restoring malware. The absence of an obvious malicious plugin does not prove the site is clean.
Transparent Security Means Fixing the Gap
BitFire failed to stop the disclosed Click2Shell chain, and WordPress owners deserve that fact without evasive marketing. The immediate firewall rule now blocks its initial attack vector stage, while the planned BitFire PRO RASP control is being evaluated for safe, durable enforcement across this vulnerability class. Update WordPress now, investigate any previously exposed site with Threat Hunter, BitFire rules auto update daily so sites are already protected. Protection improves when failures are analyzed precisely, mitigations ship quickly, and runtime controls evolve from evidence rather than unsupported claims.