Build1 distinct publisher3 min readPublished
The plugin honoured HMAC-SHA1 chosen by the attacker and used the IdP's public RSA key as the shared secret. Free is fixed at 5.4.5, Standard at 17.0.6, under the same slug.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A signature check did run on the forged assertion, and it returned valid [3]. The plugin read SignatureMethod out of the document it was being asked to trust, saw HMAC-SHA1, and switched to a symmetric algorithm on the attacker's instruction [2]. HMAC needs a shared secret, and the key material to hand was the identity provider's RSA public key, so the PEM string was used as one [2]. An IdP publishes that key on purpose [13]. In this configuration, the verification step amounted to asking whether the caller had read the metadata.
The second issue needs even less setup. `openssl_verify()` has three outcomes: 1 for a valid signature, 0 for a mismatch, and -1 when processing fails [4]. The plugin evaluated the result as a boolean, and -1 is truthy in PHP, so a signature malformed enough to break OpenSSL was accepted where a merely wrong one would have been rejected [5]. The output is the same as the first bug: a WordPress authentication cookie for whichever existing user the response named [5].
The inventory problem is arithmetic. The free edition and six paid editions share one plugin slug with unrelated version numbers [9]. The fix versions named in the writeup are 5.4.5 for Free, 13.0.4 for Premium single-site, and 17.0.6 for Standard [10]. A Standard install anywhere between 5.4.5 and 17.0.6 therefore satisfies a "5.4.5 or higher" query and remains exploitable, and the same band exists for Premium up to 13.0.4 [1]. The material also stops after three editions, breaking off at multisite Premium, so four of the seven target versions have to be obtained per edition rather than read off a list [2]. Paid editions may not raise an update notice in the dashboard at all, which makes the fix a file someone uploads by hand [11].
Nothing about the attack is loud on the victim side. There is no password, no MFA approval, and usually no visible sign on screen [14]. What the impersonated administrator may eventually notice is a session created at a time and from an address they did not use [16]. Scans against miniOrange SSO endpoints have been seen from multiple IP regions, which the report characterises as opportunistic and indiscriminate [12], meaning targets are being picked by endpoint rather than by value. The account of the bugs and the incident is credited to Patchstack and DigitalOcean Security, dated 21 August 2026, and rated critical [15].
That combination sets the order of work. The version number on the slug does not tell you the patch state, the dashboard does not tell you an update exists, and the IdP does not tell you a login happened. Three of the signals an operator would normally reach for are absent at once, and the one that remains is the web server log on the WordPress host.
Ranked by verification strength, evidence, and original report placement.
Two authentication bypass vulnerabilities in miniOrange SAML 2.0 Single Sign On for WordPress allow an attacker to have a forged SAML response accepted and log in as an existing WordPress administrator without a password or an IdP compromise; real-world attacks obtained administrator session cookies.
In CVE-2026-61979 the attacker sets SignatureMethod to HMAC-SHA1 in the SAML response and signs a fake assertion using the IdP's published RSA public key PEM string as the HMAC shared secret; the plugin accepts the algorithm specified by the response and treats the RSA public key as an HMAC key.
The forged signature is judged as valid and a WordPress authentication cookie for the specified user is issued.
PHP's openssl_verify() returns 1 for a valid signature, 0 for a mismatch, and -1 for a processing error.
In CVE-2026-15981 the attacker sends a SAML response with an existing user's NameID and an invalid signature that triggers an internal OpenSSL error; the plugin does not strictly check the return value, evaluates it as a boolean, and treats -1 (truthy in PHP) as a successful signature, so verification passes and a WordPress authentication cookie is issued.
DigitalOcean detected abnormal activity where an external network tried to use a WordPress administrator session; the attacker had already obtained an administrator session cookie through the authentication bypass.
Follow any of these and your For You feed starts watching them — no settings page required.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Detailed mechanism, single secondary source
The technical account is specific and internally coherent: named CVE identifiers, two distinct root causes (attacker-chosen HMAC-SHA1 with the IdP RSA public key as shared secret, and a non-strict openssl_verify() comparison where -1 is truthy), per-edition fix versions, and a named incident. But the whole cluster is one community digest of a Patchstack/DigitalOcean report; the advisory, the NVD record and the referenced BleepingComputer coverage are cited by name only, no CVSS scores or patch commits are shown, and the supplied body is truncated mid-sentence. That caps corroboration well short of primary-source strength.
Confirmed exploitation, unmeasured exposure
There is concrete real-world signal rather than theory: one detected intrusion where an admin session cookie obtained through the bypass was reused from an external network, plus endpoint scanning from multiple IP regions, and patched builds exist for every edition. What is missing is scale: no affected-install counts, no patch-uptake telemetry, no indication of how many sites run paid editions that a naive version check would clear.
Slightly overstated framing, sound mechanism
The framing that anyone can log in as your WordPress admin is broader than the documented record: exploitation is evidenced by one detected incident that was contained by network restrictions on /wp-admin, and the escalation to remote code execution is explicitly labelled an inference. The severity claim is nonetheless anchored in two plausible, unauthenticated, no-interaction bypasses with published fixes, so the gap is modest rather than promotional. A small additional overstatement sits in the derived ledger claim that four editions lack fix versions, which the source body contradicts by listing all seven.
Vendor research relayed by a community post
The findings originate with Patchstack, a commercial WordPress security vendor, and DigitalOcean Security; both have a reputational and commercial interest in critical WordPress plugin disclosures, and the recommended mitigations include WAF virtual patching, which sits close to that commercial line. The relaying publisher is a community blogging platform post with no disclosed sponsorship or product to sell, and the write-up hedges its strongest escalation claim as inference. Net incentive pressure is moderate and visible rather than hidden.
Coherent but single-sourced
Confidence is limited mainly by cluster shape: one publisher, one secondary source, a truncated body and no reproduced primary advisory or NVD record. The mechanism-level claims are the most reliable part because they rest on checkable PHP and SAML behaviour; the incident, scanning and patch-version details are all single-attested, and one derived claim in the ledger conflicts with the source text, which argues for caution before acting on any single figure without confirming against the vendor advisory.
build
Six MariaDB versions, one real difference: the only reason to leave 10.6 is the July 2026 clock1 distinct publisher
build
Forminator trusts a forged upload: a dropdown flaw exposes 600,000 WordPress sites to RCE1 distinct publisher
build
Open REST route in WildApricotPress Member Directory hands out members-only emails and phones1 distinct publisher
build
Block themes move who controls layout, not just how templates are written1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 24, 2026