Skip to content
All posts

Attackers Are Exploiting a CVSS 10.0 Bug in the Bricksforge WordPress Plugin (CVE-2026-85097)

October 12, 2026 · PlayCISO
TL;DR

CVE-2026-85097 is a CVSS 10.0 (maximum severity) vulnerability in Bricksforge, a widely used add-on plugin for the Bricks visual builder on WordPress. It is an unauthenticated arbitrary file upload that leads to remote code execution: no login required, so any site running a vulnerable version is reachable by anyone on the internet. The root cause (per Patchstack) is a classic trust-the-client mistake — Bricksforge checks a file’s MIME type at upload time but then trusts client-supplied metadata later: it does not validate the "url" field inside the "temporaryFileUploads" parameter. The exploit chain: grab a nonce from the unauthenticated bricksforge_regenerate_nonce endpoint, upload a GIF/PHP polyglot that passes the MIME check into the temp upload directory, then submit a form whose "file" points at the validated GIF while the "url" field ends in ".php" — the server writes the payload to a .php path where the embedded code executes on request. It is being actively exploited: Patchstack logged attempts starting October 7, 2026 at 21:47 UTC, from 63 unique IPs, including a cluster of 44 IPs firing 56 identical-payload requests within seconds and another probing 25 extension/encoding variants (.php5, .php7, .phtml, case changes, URL-encoding). Affected: versions up to and including 3.1.8.9; patched in 3.1.8.10, and the vendor now recommends updating to the latest release (4.0.1). Defender’s move: update immediately; audit requests to /wp-json/bricksforge/v1/form_submit and admin-ajax.php (action bricksforge_form_submit) carrying a temporaryFileUploads parameter; check /wp-content/uploads/bricksforge/tmp/ for unexpected PHP files; and remember that patching does not evict an attacker who already got in — treat a site that was exposed before the update as a possible compromise and investigate it.

A maximum-severity bug — CVSS 10.0 — in a popular WordPress plugin is under active attack. CVE-2026-85097 lets an unauthenticated attacker upload and run arbitrary PHP on any site using a vulnerable version of Bricksforge, the “Swiss Army knife” add-on for the Bricks visual builder. If you run it, update now and then go hunting — because patching does not undo a breach that already happened.

Curated from The Hacker News, with Patchstack and Wordfence telemetry. Defensive write-up for security leaders and the people who run the sites.

What’s broken

Bricksforge adds animations, advanced forms and scroll-video sequences to Bricks-built WordPress sites. The flaw is a textbook trust-the-client mistake: the plugin validates a file’s MIME type at upload time, but later trusts client-supplied metadata — specifically, it does not validate the url field inside the temporaryFileUploads parameter. That gap turns a file-type check into an arbitrary write.

How the attack works

  1. Get a nonce. The unauthenticated bricksforge_regenerate_nonce AJAX endpoint hands out a valid nonce — no login needed.
  2. Upload a polyglot. A GIF/PHP polyglot is uploaded to the temporary directory, where it passes the MIME check because it really does look like a GIF.
  3. Point the write at a .php path. A form submission references the validated GIF in its file field while the url field ends in .php.
  4. Code executes. The server writes the file contents to the .php location, and the embedded code runs the moment that path is requested — full remote code execution as the web server.

It’s already being exploited

This is not theoretical. Patchstack logged exploitation attempts starting October 7, 2026 at 21:47 UTC, from 63 unique source IPs. Six IPs drove roughly 46% of the traffic; one cluster of 44 IPs fired 56 identical-payload requests within seconds, and another trio probed 25 different extension and encoding variants — .php5, .php7, .phtml, case changes and URL-encoding — the signature of automated mass-exploitation tooling racing to beat patching.

The defender’s checklist

  • Update immediately. Vulnerable: up to and including 3.1.8.9. Patched in 3.1.8.10; the vendor recommends moving to the latest release (4.0.1). Confirm against the changelog and update.
  • Hunt the traffic. Audit requests to /wp-json/bricksforge/v1/form_submit and /wp-admin/admin-ajax.php with the bricksforge_form_submit action that carry a temporaryFileUploads parameter, and look for repeated identical submissions.
  • Check the drop zone. Look in /wp-content/uploads/bricksforge/tmp/ for unexpected PHP files.
  • Assume breach if you were exposed. Patching closes the door; it does not evict anyone already inside. A site that ran a vulnerable version during the active-exploitation window should be treated as a possible compromise and investigated — web shells, new admin users, modified core files, outbound connections.

The leadership takeaway

A CVSS 10.0, unauthenticated, actively-exploited RCE in a third-party plugin is exactly the supply-chain exposure that lives outside most asset inventories: a marketing site, built on a page-builder, extended by an add-on nobody on the security team chose. The lesson isn’t “WordPress bad” — it’s that every public web property needs an owner, a patch SLA, and a rehearsed response for the day one of its plugins turns critical. If you want to pressure-test that muscle, our War Room incident simulator runs the exact decisions this bug forces — isolate first or image first, when to disclose, who to call — and the free CISO Readiness Scorecard shows where your weakest response area is before an attacker finds it.

As of October 12, 2026. Details (including the exact fixed version) evolve — confirm against the vendor changelog, Patchstack and Wordfence advisories before acting. Investigate only systems you are authorized to administer.

Related articles
Deloitte Named on The Gentlemen Ransomware Leak Site: What a Listing Actually Means
A dark-web monitoring account reports that the ransomware group "The Gentlemen" has named Deloitte on its extortion leak site, with the entry marked "Data info — soon." As of now this is an unverified claim: a listing appeared, no data or proof has been published, and Deloitte has not confirmed any incident. Here is what "being named" on a leak site actually means, why even a Big Four audit-and-cyber firm appearing matters, how to read these claims without panicking, and the exact playbook if you are a Deloitte client or sit in their supply chain.
Abliterated Models, Explained: What "Refusal-Removed" LLMs Are and Why They Matter
New to "abliterated" or "uncensored" models? This is the plain-English version: abliteration removes an open-weights model’s ability to refuse by deleting a single internal "refusal direction" — not a jailbreak, not a retraining. Here is how it works, how it differs from a jailbreak and a fine-tune, how to recognise these models on Hugging Face, and how a security team should govern the risk. Educational and defensive.
Cyber Risk Goes Parabolic: Critical CVEs Spiked 6× This Year — and AI Is Finding the Zero-Days
A16z, using Epoch.ai data across 21 major software vendors (Apple, AWS, Microsoft, Google, Cisco, Oracle and more), shows critical-severity CVEs that never cleared ~100 a month for four years suddenly jumping past 600 a month since spring 2026; high-severity reports spiked toward ~2,200 a month. In parallel, Kevin Mandia (Mandiant’s founder) says his new venture Armadin has found 90+ zero-days in production at customer sites this year using models post-trained with real red-teamers — black-box, from the internet, no source code. What’s confirmed vs. reported, why the curve bent, and what a security leader should do now.

Ready to practise the decisions these articles describe?

Run a free War Room →
🎉 New here? Use code WELCOME10 for 10% off any plan at checkout
Attackers Are Exploiting a CVSS 10.0 Bug in the Bricksforge WordPress Plugin (CVE-2026-85097) | PlayCISO Blog · PlayCISO