As reported by The Hacker News, a CVSS 10.0 vulnerability in the Bricksforge WordPress plugin (CVE-2026-85097) is now under active exploitation, giving unauthenticated attackers full remote code execution on affected sites. This is not a theoretical risk — Patchstack confirmed in-the-wild attacks beginning October 7, 2026, and the exploit path requires no credentials, no user interaction, and no privileges.

Security Impact: As reported by The Hacker News, a CVSS 10.0 vulnerability in the Bricksforge WordPress plugin (CVE-2026-85097) is now under active exploitation, giving unauthenticated attackers full remote code execution on affected sites.

What makes this vulnerability particularly instructive for defenders is its root cause: a two-stage validation trust gap. Bricksforge correctly validates MIME types at upload time, but when the form is subsequently submitted, it trusts client-supplied metadata — specifically the url field inside the temporaryFileUploads parameter — without revalidating server-side. An attacker uploads a GIF/PHP polyglot that passes the initial MIME check, then submits a form pointing the server-side path to that validated image while setting the url to a .php extension. The plugin dutifully writes the malicious file contents to the PHP path, and the embedded code executes on request.

This is a textbook server-side trust boundary failure, and it is the same class of flaw that has plagued WordPress plugin ecosystems for over a decade. The attack is further simplified by the bricksforge_regenerate_nonce AJAX endpoint, which hands out valid nonces to unauthenticated users — effectively neutralizing WordPress's CSRF protection for this attack chain.

Vulnerability Details

FieldDetail
CVECVE-2026-85097
CVSS10.0 (Critical)
Affected ProductBricksforge plugin for WordPress
Affected VersionsUp to and including 3.1.8.9
Patched Version3.1.8.10
Exploitation StatusActive in the wild (confirmed October 7, 2026)
Authentication RequiredNo — fully unauthenticated
ImpactRemote Code Execution, web shell deployment, full site compromise

Who Is at Risk

Any WordPress site running Bricksforge versions 3.1.8.9 or earlier is exposed. Given Bricksforge's positioning as a companion to the Bricks page builder — which has gained significant traction among agencies, freelancers, and SMBs building marketing sites — the exposed population likely skews toward small-to-medium businesses and managed hosting environments where plugin update hygiene is often inconsistent. Sites with publicly accessible form endpoints (the default configuration) are fully exposed.

Broader Implications

This incident underscores a persistent structural problem: the WordPress plugin ecosystem continues to be a dominant initial access vector because a single plugin flaw can compromise the entire host. The attack pattern — polyglot file uploads combined with metadata trust gaps — is well-understood and detectable, yet it recurs because validation logic is frequently split across request lifecycle stages. Defenders should note that Web Application Firewalls (WAFs) may not catch this traffic if the polyglot upload and the form submission appear as separate, seemingly benign requests.

Immediate Actions

Broader Implications
Patch immediately: Update Bricksforge to version 3.1.8.10 or later. This is the single most important step.
If patching is delayed: Disable the Bricksforge plugin entirely until the update can be applied. An inactive plugin cannot be exploited via this endpoint.
Block the attack surface: Restrict access to the bricksforge_regenerate_nonce AJAX endpoint and the Bricksforge REST API form submission endpoint at the WAF or reverse proxy level if the plugin must remain active.
Hunt for compromise: Check for unexpected PHP files in WordPress upload directories, particularly in Bricksforge temporary upload paths. Look for recently created .php files with image-related names. Review web server access logs for POST requests to /wp-json/ endpoints associated with Bricksforge form submissions.
Inspect for web shells: Scan the WordPress wp-content/uploads/ directory tree for PHP files, especially those containing eval(), base64_decode(), or system() calls.

Shield53 Recommendations

Beyond the immediate patch, organizations running WordPress at scale should implement the following:

  • Adopt continuous plugin inventory management. Maintain a real-time inventory of all installed plugins and their versions. Automated alerting on newly disclosed critical CVEs for any installed plugin should be standard.
  • Enforce file upload validation at the web server layer. Configure nginx or Apache to deny execution of PHP in upload directories. This provides defense-in-depth even when plugin validation logic fails.
  • Deploy runtime integrity monitoring. Use file integrity monitoring (FIM) on WordPress document roots to detect new PHP files in upload directories within minutes of creation.
  • Restrict AJAX and REST endpoints by default. For non-authenticated users, consider blocking or rate-limiting WordPress AJAX and REST API endpoints that are not strictly required for site functionality.
  • Review WordPress hosting architecture. Consider PHP-FPM pool isolation, disable dangerous functions (exec, system, shell_exec), and implement open_basedir restrictions to limit the blast radius of any RCE.

The lesson here is not new, but it bears repeating: never trust client-supplied metadata for security decisions. The moment a server accepts a client-controlled url or path field and acts on it without revalidation, you have created an exploitable trust boundary. Audit your file upload and form handling code accordingly.