Skip to content

SecurityNot yet confirmed elsewhere1 publisher2 min readPublished

Bricksforge's unauthenticated upload flaw is being used to run PHP on WordPress sites

Attackers are exploiting CVE-2026-85097, a CVSS 10.0 unauthenticated upload flaw in the Bricksforge WordPress plugin, Patchstack reported. Versions through 3.1.8.9 are affected; 3.1.8.10 is the first fixed build.

The Watch · Security desk

How we use AISend a correction

Illustration accompanying Bricksforge's unauthenticated upload flaw is being used to run PHP on WordPress sites
Generated illustration
Two IP clusters stand out in Bricksforge attack traffic Source IPs and payload clusters recorded in exploitation activity against CVE-2026-85097 in Bricksforge, and the flaw's CVSS score.

Three figures. The exploitation activity has been recorded from 63 unique source IPs, six of which account for roughly 46% of all requests. In one cluster Patchstack reports, 44 IPs sent 56 requests with identical payloads. The flaw is rated CVSS 10.0.

Two IP clusters stand out in Bricksforge attack traffic
FigureValueNoteClaim
Unique source IPs recorded63 IPssix sent roughly 46% of all requests11
IPs sending identical payloads44 IPssent 56 requests within seconds9
Severity score10 CVSS2

What happened

  • Patchstack detected the first exploitation attempts on October 7, 2026, at 9:47 p.m. UTC.
  • Observed attacks hit the REST endpoint /wp-json/bricksforge/v1/form_submit, or admin-ajax.php with the bricksforge_form_submit action, carrying a crafted temporaryFileUploads parameter.
  • Payloads try to get past extension filtering with alternate PHP extensions such as .php5 and .phtml, mixed-case spellings, and URL-encoded variants.

Why it matters

  • exposure Any site on 3.1.8.9 or earlier can be reached by anyone who can send HTTP requests, because the nonce the attack needs comes from an unauthenticated endpoint.
  • constraint A server or WAF rule that matches only a literal .php suffix would miss the extension, case and encoding variants attackers are already sending.
  • decision Operators pick a target version. The source names 3.1.8.10 as the patched build, then advises the latest, 4.0.1, and does not say whether the jump changes anything for sites built on Bricks.

The chain needs no credentials. An attacker first requests a valid nonce from the unauthenticated 'bricksforge_regenerate_nonce' AJAX endpoint, then uploads a GIF/PHP polyglot, a file that is a valid image and also contains PHP, to the temporary upload directory [6]. The MIME check passes it. The attacker then submits a form whose 'file' path points to that validated image while the 'url' ends in a PHP extension, and Bricksforge places the file's contents at the PHP location. The embedded code runs when that file is requested [6]. Wordfence's advisory describes the same sequence [14].

Patchstack put the root cause in terms of what the plugin trusts:

"Bricksforge validates a file's MIME type when it is first uploaded. When a form is later submitted, however, it trusts the file metadata the client sends," Patchstack said. "In particular, it does not validate the 'url' field inside the 'temporaryFileUploads' parameter." [5]

Patchstack's telemetry points to automation. In one cluster, 44 IPs sent 56 requests with identical payloads within seconds of each other. In another, three IPs tested 25 variations of PHP extensions and encodings against the same temporary file [9]. "Both patterns point to automated exploitation over rotating proxies or distributed infrastructure. They do not, on their own, attribute the activity to a single threat actor," Patchstack said [10]. Six of the 63 source IPs sent roughly 46% of requests, so the other 57 addresses account for about 54% [15].

So far the public record shows one bug hit by automated tooling from many addresses.

Updating closes the hole but leaves in place anything already written. The source lists web shells and persistent access among the outcomes of successful exploitation [12]. In the representative request, both the validated GIF and the PHP target sit under wp-content/uploads/bricksforge/tmp [13]. In our view that directory is the first place to look for .php files on any site that ran 3.1.8.9 or earlier after October 7.

The Hacker News report did not disclose whether attacks began before October 7, how many sites are compromised, or when 3.1.8.10 shipped.

What to watch

  • Whether Patchstack or Wordfence tie the traffic to a named actor or report the payloads attackers drop after upload, such as web shells.
  • Whether the plugin's own release notes clarify if 3.1.8.10 is enough or if sites should move to 4.0.1.
  • Whether the count of 63 source IPs grows as the representative request format circulates.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence68
Adoption
Insufficient
Hype gap0
Incentives
Insufficient
Confidence70
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    A maximum-severity security flaw in the Bricksforge plugin for WordPress has come under active exploitation in the wild, according to Patchstack.

    ReportedSupportedSource: Patchstack, as reported by The Hacker NewsView cited source
  2. [2]

    CVE-2026-85097 (CVSS 10.0) allows unauthenticated attackers to upload and execute arbitrary PHP code on vulnerable WordPress websites, resulting in remote code execution.

    ReportedSupportedView cited source
  3. [3]

    The flaw affects Bricksforge versions up to and including 3.1.8.9. Patches have been released in version 3.1.8.10.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. thehackernews.com

    1 article · October 12, 2026

    Attackers Exploit CVSS 10.0 Bricksforge WordPress Flaw Enabling Unauthenticated RCE

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Loading related stories