TRENDING
Close-up of the white locking bars and cam handles on the closed doors of a grey intermodal shipping container
November 13, 2026
Red Hat Published Eight Fixed Quay Releases Within Two Hours of Its CVSS 9.8 Signing-Key Advisory, but the CVE Page Still Lists No Fix, and the Sibling 9.9 Flaw’s Page Names Those Releases While None of Their Advisories Lists It
A white life ring hanging on a wooden post above an empty sandy beach and calm blue water, a rescue tool kept within reach before anyone needs it
November 13, 2026
How to Recover Lost Commits and Files in Git With reflog and fsck, and Snapshot Uncommitted Work Before a Script or AI Agent Can Wipe It
Three meerkats standing upright on a red sand mound at dusk, each looking in a slightly different direction
November 13, 2026
Cloudflare’s QuePaxa Post Turns Leader Elections Into a Hedging Delay, but in a Simulation of the Paper’s Protocol a Five-Millisecond Hedge Costs Every Slot Its Fast Path, and the 2020 Outage It Cites Lasted Six Hours Because Database Replicas Had to Be Rebuilt
A shredded-potato hash brown browning in a dark frying pan
November 13, 2026
Microsoft’s November Patch Tuesday Fixes 1,094 CVEs by Its Own Count, Not a “Record” 1,235, and the Only Exploited Bug Is an Outlook Flaw That Can Leak an NTLMv2 Hash Without the Usual Warning
International signal flags flying from the rigging of a white ship against a blue sky
November 13, 2026
DeepMind’s Signal Proofs Turn “Verified” Into a Scope Statement: One-to-One Sessions in a Command-Line Harness, 39 Hooked Routines on Trust, No Proof of Post-Quantum Healing, and a Bound That Goes Vacuous at About 25,000 Messages
13 Nov 2026
SXZ.io SXZ.io
  • Home
Search the Site
Popular Searches:
Technology Amazon AI
Recent Posts
Concrete dam wall with a footbridge along its crest holding back a calm reservoir below tree-covered hills, with a few people standing at the near end of the walkway
How to Shut Down a FastAPI Service Without Dropping Requests: Handle the Stop Signal, Drain Before You Close, and Survive a Rolling Restart Behind nginx
November 12, 2026
Close-up of an iridescent teal duck feather with a brown edge against a blurred green background
Apache Patches a Critical mod_http2 RCE Found Independently by Anthropic’s Scanner and Google Researchers, but 2.4.70 Shipped Nearly Five Days Earlier Without the Fix and the One-Line Patch Was Public for About 58 Hours Before the Advisory
November 12, 2026
An open Pacific oyster shell resting on a wooden chopping board
CNCF’s OpenShell-on-Kubernetes Guide Turns Agent Sandboxing Into a Two-Layer Split, but the Demo’s Seven Kyverno Policies Admit Secret Volumes, Oversized Init Containers and Unconfined Seccomp, and the OpenShell Release It Describes Is Five Behind the Current One
November 12, 2026
SXZ.io SXZ.io
  • Home

Categories

Articles 296 Posts
News 301 Posts
Learning Hub 268 Posts
Home/News/A Hidden Elementor Feature Let a Single Link Forge a WordPress Admin Account
News

A Hidden Elementor Feature Let a Single Link Forge a WordPress Admin Account

A hidden, on-by-default Elementor feature disabled WordPress's only CSRF protection for two days, letting one link create a rogue administrator account with no JavaScript required.

September 25, 2026 5 Min Read
319

Elementor has patched a critical cross-site request forgery (CSRF) flaw that let a single link, opened by any logged-in WordPress user, forge a request to create a new administrator account or read a site’s settings, all without JavaScript, a form, or a page under the attacker’s control. The bug, tracked as CVE-2026-62062 and rated 8.8 (High) under CVSS 3.1, lived in the free Elementor Website Builder plugin for exactly two days before Elementor shipped a fix.

Table Of Content

  • A hidden feature, on by default
  • A single link, no script required
  • The blast radius reached every REST route on the site
  • A two-day window, and a vague changelog entry
  • What site owners should do

Patchstack’s disclosure, published Friday and credited to the researcher known as Saggre, says the flaw shipped only in versions 4.3.0 and 4.3.1, which are the two most recent releases of the plugin before Thursday’s patch. Elementor itself is active on more than 10 million WordPress sites; Patchstack’s own headline puts the number of sites that picked up the affected pair of releases at more than 2 million, though the company’s write-up does not walk through how that specific figure was derived.

A hidden feature, on by default

The vulnerable code belongs to Elementor’s Editor Events module, which proxies telemetry from the page-building editor. According to Patchstack, the module is gated behind an internal experiment flag that is deliberately hidden from the Experiments screen most site owners would check, and that flag defaults to active for any site whose first Elementor install was version 3.32.0 or later. A default, unmodified install of 4.3.0 or 4.3.1 was affected with no settings changed and no other plugin involved.

The module’s constructor hooks WordPress’s rest_authentication_errors filter at priority 0, before any other handler runs, and asks a narrow question: is this request headed for one of my own routes? Patchstack quotes the check verbatim:

// core/common/modules/events-manager/rest-api/events-proxy-rest-api.php
public function bypass_nonce_check_for_own_routes( $result ) {
    if ( $this->is_own_route_request() ) {
        return true;
    }
    return $result;
}

private function is_own_route_request(): bool {
    $request_uri = Utils::get_super_global_value( $_SERVER, 'REQUEST_URI' ) ?? '';
    // API_NAMESPACE = 'elementor/v1', API_BASE = 'events'
    return false !== strpos( $request_uri, self::API_NAMESPACE . '/' . self::API_BASE . '/' );
}

The problem, Patchstack explains, is timing. rest_authentication_errors fires inside WP_REST_Server::check_authentication(), before WordPress has matched a route, so the only thing the callback has to inspect is the raw request URI, a string that includes the full query string and that the client fully controls. The check does not anchor its search to the actual route; it just looks for the substring elementor/v1/events/ anywhere in that URI, including inside a query parameter that is never used for anything else.

Returning true from that filter does not just skip Elementor’s own check. WordPress’s core CSRF protection for cookie-authenticated REST requests, the function rest_cookie_check_errors(), is written to respect whatever an earlier handler already decided:

// wp-includes/rest-api.php - rest_cookie_check_errors()
function rest_cookie_check_errors( $result ) {
    if ( ! empty( $result ) ) {
        return $result; // Elementor returned true at priority 0, so this returns here
    }
    // ...never reached: the wp_rest nonce is never verified
    $result = wp_verify_nonce( $nonce, 'wp_rest' );
    // ...
}

A value of true reads as “authentication already succeeded,” so core’s nonce check, and the nonce check of any other security plugin hooked to the same filter, never runs. What is left is the route’s own permission check, which asks what the logged-in visitor’s account is normally allowed to do. Since the victim really is logged in, that check passes; only the proof that the victim actually intended the request is gone.

A single link, no script required

Most REST-based CSRF bugs need a page that submits a form or fires a fetch() call, which limits an attacker to places they can host markup. This one did not, because the WordPress REST API accepts a _method query parameter that lets a plain GET request stand in for a POST. Patchstack’s example shows the entire attack fitting inside one URL:

https://example.com/wp-json/wp/v2/users
    ?_method=POST
    &username=csrfadmin
    &email=csrfadmin%40example.test
    &password=...
    &roles%5B%5D=administrator
    &x=elementor/v1/events/    <- the only part that matters

Without that last parameter, the request fails with rest_cannot_create_user and an HTTP 401. With it, the server responds with HTTP 201 and a new user whose role is administrator. Patchstack says the researcher also confirmed that shortening the marker by a single character, to elementor/v1/event/, was enough to make the request fail again, ruling out any other explanation for the bypass. Because the payload is a plain anchor tag rather than a script, it can be delivered anywhere a link can appear: an email, a chat message, a comment on an entirely unrelated site.

The blast radius reached every REST route on the site

Patchstack is careful to note that this was not a bug confined to Elementor’s own endpoints. Because the bypass ran before WordPress had matched a route at all, it applied to the REST API surface of the whole site, including routes registered by plugins that had nothing to do with Elementor. Alongside the administrator-creation example, Patchstack says the researcher also turned a request to /wp-json/wp/v2/settings from an HTTP 401 into an HTTP 200 that returned the site’s settings in the response body.

A two-day window, and a vague changelog entry

The timeline is tight. Elementor shipped 4.3.0 on September 22, the release that introduced the vulnerable code alongside new features including a new “Elementor MCP” feature for connecting external AI tools to a site. Patchstack says it received the researcher’s report the same day. Elementor released 4.3.1 the next day with an unrelated translation fix, still carrying the bug, and shipped 4.3.2 on September 24 with the actual patch. Patchstack’s advisory went public the day after that.

The fix changes both the input and the comparison. Instead of the raw request URI, the check now reads the route WordPress already resolved from $wp->query_vars['rest_route'], a value with the query string stripped out entirely, and it requires the plugin’s namespace to appear at the start of that route rather than anywhere inside it. Elementor’s own public changelog entry for 4.3.2 does not mention a CVE or the word forgery; it lists the change only as “Fix: Improved code security enforcement in data handling,” one line among five other, unrelated tweaks and fixes in the same release.

What site owners should do

Sites running Elementor 4.3.0 or 4.3.1 should update to 4.3.2 or later immediately; WordPress.org’s plugin repository already lists 4.3.2 as the current version. Sites on any release before 4.3.0 never shipped the Editor Events proxy and were not affected in the first place. CVE-2026-62062 is filed under CWE-352, the standard weakness class for cross-site request forgery, and as of publication it had not been added to CISA’s Known Exploited Vulnerabilities catalog, meaning there is no public evidence yet that it has been exploited outside Patchstack’s own proof of concept.

This is a separate product and a separate class of bug from Elementor’s two prior appearances in sxz.io’s coverage. Both an August file-upload flaw and a since-exploited bug reported in September affected Elementor Pro, the paid add-on sold separately from the plugin covered here. This week’s flaw sits in the free Elementor Website Builder core plugin that Pro extends, and it is a request-forgery bug rather than a file-upload one; the two products share a vendor and a name, not a vulnerability class.

Tags:

Cross-Site Request ForgeryCVE-2026-62062ElementorVulnerability ManagementWordPress Security

Share

A densely stamped passport page showing dozens of overlapping international entry and exit stamps, visas, and immigration marks
Previous Post

Docker Turns Agent Permissions Into a CNCF-Governed OCI Standard

Ancient marble theatrical comedy mask with a fierce, staring expression, a literal visual metaphor for a persona file swapped onto an unchanged framework
Next Post

Carbonato Turns an Unmodified Open-Source AI Agent Into a Docker Botnet’s Operator Console

No Comment! Be the first one.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Latest
12 Nov
How to Shut Down a FastAPI Service Without Dropping Requests: Handle the Stop Signal, Drain Before You Close, and Survive a Rolling Restart Behind nginx
12 Nov
Apache Patches a Critical mod_http2 RCE Found Independently by Anthropic’s Scanner and Google Researchers, but 2.4.70 Shipped Nearly Five Days Earlier Without the Fix and the One-Line Patch Was Public for About 58 Hours Before the Advisory
Trending
November 12, 2026
How to Shut Down a FastAPI Service Without Dropping Requests: Handle the Stop Signal, Drain Before You Close, and Survive a Rolling Restart Behind nginx
November 12, 2026
Apache Patches a Critical mod_http2 RCE Found Independently by Anthropic’s Scanner and Google Researchers, but 2.4.70 Shipped Nearly Five Days Earlier Without the Fix and the One-Line Patch Was Public for About 58 Hours Before the Advisory
November 12, 2026
CNCF’s OpenShell-on-Kubernetes Guide Turns Agent Sandboxing Into a Two-Layer Split, but the Demo’s Seven Kyverno Policies Admit Secret Volumes, Oversized Init Containers and Unconfined Seccomp, and the OpenShell Release It Describes Is Five Behind the Current One
November 12, 2026
Red Hat Published Eight Fixed Quay Releases Within Two Hours of Its CVSS 9.8 Signing-Key Advisory, but the CVE Page Still Lists No Fix, and the Sibling 9.9 Flaw’s Page Names Those Releases While None of Their Advisories Lists It
November 11, 2026
How to Recover Lost Commits and Files in Git With reflog and fsck, and Snapshot Uncommitted Work Before a Script or AI Agent Can Wipe It
November 11, 2026
Cloudflare’s QuePaxa Post Turns Leader Elections Into a Hedging Delay, but in a Simulation of the Paper’s Protocol a Five-Millisecond Hedge Costs Every Slot Its Fast Path, and the 2020 Outage It Cites Lasted Six Hours Because Database Replicas Had to Be Rebuilt

Related Posts

Rows of server racks in a data center representing network infrastructure targeted by botnets
News

C0XMO Botnet Shows Why Old Router Firmware Still Matters

June 7, 2026
Close-up of a USB flash drive, representing physical data-theft risk in office security incidents
News

Fake IT Support Is Now Walking Through the Front Door

June 7, 2026
A phone security app on a smartphone resting on a laptop keyboard.
News

Everest Forms Pro Flaw Is Being Exploited to Create Rogue WordPress Admins

June 7, 2026
A phone secured by a padlock, illustrating AI data-leak containment and security controls.
News

OpenAI’s Lockdown Mode Is a Data-Leak Brake, Not a Prompt-Injection Cure

June 8, 2026
SXZ.io SXZ.io
  • [email protected]

Categories

Articles
Learning Hub
News

All Rights Reserved by SXZ.io ©2026