Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
CriticalPublic exploit

Unauthenticated Privilege Escalation in Modular DS WordPress Plugin

IdentifiersCVE-2026-23550CWE-266· Incorrect Privilege Assignment

CVE-2026-23550 is a critical unauthenticated privilege-escalation vulnerability in the Modular DS WordPress plugin affecting versions up to and including 2.5.1. The issue is rooted in the plugin’s custom routing and authentication design for /api/modular-connector/ endpoints. Attackers can force the plugin into a trusted “direct request” path by supplying query parameters such as origin=mo and an arbitrary type value, which bypasses normal authentication checks when the site is already connected to Modular services. In this code path, the authentication middleware validates connection state rather than the authenticity of the requester, with no required signature, secret, IP restriction, or equivalent cryptographic verification. The exposed login route can then invoke the plugin’s auto-login flow; if no user ID is supplied, the controller may fall back to selecting an existing administrator account and log in as that user. This results in remote, unauthenticated administrator access and has been observed exploited in the wild.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation gives an unauthenticated remote attacker administrator-level access to the affected WordPress site. This enables full site takeover, including creation of rogue administrator accounts, modification of site content and settings, installation of malicious plugins, deployment of web shells or other backdoors, access to backups and system information exposed by protected routes, theft of site and user data, and use of the compromised site for phishing, malware delivery, or further post-exploitation activity. Multiple sources in the provided content state exploitation is active in the wild.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, restrict or block external access to /api/modular-connector/ endpoints, especially /api/modular-connector/login/. Deploy WAF or reverse-proxy rules to deny requests containing origin=mo with untrusted or arbitrary type values, and monitor for exploitation attempts against the vulnerable routes. Review whether the site is connected to Modular services, as connected instances are specifically exposed to the auth bypass condition described in the content. Conduct incident-response checks for newly created admin users, unexpected plugin/theme changes, malicious scheduled tasks, altered content, and filesystem/database backdoors. Regenerating WordPress salts is also recommended after suspected exploitation.

Remediation

Patch, then assume compromise.

Upgrade the Modular DS plugin to version 2.5.2 or later immediately. The fix reportedly removes URL-based route matching for the vulnerable subsystem, adds a default 404 fallback route, and restricts route binding to recognized request types only. If a newer maintained release such as 2.6.0 is available from the vendor, use the latest fixed version. After patching, review WordPress administrator accounts for unauthorized additions, inspect logs for requests to /api/modular-connector/login/ and related endpoints with origin=mo and suspicious type values, remove any malicious plugins or web shells, and rotate WordPress salts and any Modular/OAuth-related credentials if compromise is suspected.
PUBLIC EXPLOITS

Exploits

3 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (4 hidden).

VALID 3 / 7 TOTALView more in app
CVE-2026-23550MaturityPoCVerified exploit

This repository is a small standalone Bash proof-of-concept exploit for CVE-2026-23550, targeting the WordPress Modular Connector plugin (claimed vulnerable through version 2.5.1). The repository contains two files: a single executable Bash script, CVE-2026-23550.sh, and a README describing the issue and usage. The exploit is not part of a larger framework. The script’s purpose is to perform an unauthenticated authentication bypass against a WordPress REST endpoint. It sends a POST request to the target URL at /?rest_route=/api/modular-connector/login with Content-Type: application/json and body {"origin":"mo"}. If the target responds by issuing a wordpress_logged_in_* cookie, the script treats the target as vulnerable. It then reuses that cookie to request /wp-admin/ and checks the response for dashboard-related strings to confirm administrative access. Main capabilities: - Accepts a target base URL as a command-line argument, defaulting to http://localhost:8080. - Sends the crafted bypass request to the vulnerable REST route. - Stores returned cookies in cookies.txt. - Detects successful exploitation by checking for a WordPress authenticated session cookie. - Verifies likely admin access by requesting /wp-admin/ with the captured cookie. - Deletes the temporary cookie jar after execution. Operationally, this is more than a pure detector because it actively attempts to obtain and use an authenticated admin session. However, the payload is fixed and simple, so OPERATIONAL is the best fit rather than WEAPONIZED. No destructive behavior, persistence, lateral movement, or post-exploitation automation is present.

Cyber-DarkNayDisclosed Jun 11, 2026bashmarkdownwebnetwork
CVE-2026-23550MaturityPoCVerified exploit

Repository contains an operational unauthenticated admin-takeover exploit for CVE-2026-23550 affecting the WordPress Modular DS (modular-connector) plugin <= 2.5.1. Structure: - CVE-2026-23550.sh: Main bash exploit tool (obfuscated via base64+eval) implementing: dependency checks, optional Google dork display, WordPress user enumeration via /?author=N redirect parsing, and an exploit routine that targets the Modular DS API to obtain an admin session cookie; flags indicate optional creation of a new admin user with provided username/password. - CVE-2026-23550.yaml: Nuclei-style HTTP check template that fingerprints the plugin (body contains /plugins/modular-connector/) and tests the bypass by requesting the login endpoint with origin=mo&type=foo; success is inferred from HTTP 302 and presence of a wordpress_logged_in cookie in headers. - README.md: Explains root cause: flawed isDirectRequest() logic treats requests with origin=mo and any type parameter as trusted, bypassing auth middleware; login route falls back to any admin user if no user ID is provided, issuing admin cookies and redirecting to wp-admin. Capabilities/impact: - Remote, unauthenticated exploitation over HTTP(S). - Admin session takeover by forcing the plugin’s remote-login flow to issue WordPress admin cookies. - Additional post-bypass access to multiple sensitive plugin routes (server info, backups, management, cache clear, WooCommerce stats) as documented. Notable observables: - Requests to /api/modular-connector/login/* with query origin=mo&type=... and resulting 302 redirect plus wordpress_logged_in cookie. - Enumeration traffic to /?author=1..10. No hardcoded C2 infrastructure was observed; endpoints are target-relative and user-supplied via the target URL argument.

DedsecTeam-BlackHatDisclosed Feb 26, 2026bashyamlnetwork (unauthenticated HTTP auth-bypass leading to admin session issuance / takeover on WordPress plugin endpoint)
By-Poloss..-..CVE-2026-23550MaturityPoCVerified exploit

Repository contains a single Python mass-exploitation script plus a banner and a sample URL list placeholder. Structure: - CVE-2026-23550.py: Main threaded scanner/exploiter. - Baner.txt: ASCII art banner displayed at startup. - url.txt: Placeholder text ('list url'); user is expected to provide a file containing target URLs. Exploit purpose and flow: 1) Reads targets from a user-supplied file; normalizes each target to include a scheme (defaults to http://). 2) For each target (multi-threaded), creates a requests.Session and POSTs to WordPress admin-ajax endpoint /wp-admin/admin-ajax.php with parameters action=modular_ds_update_privileged_action, role=administrator, verify=true. This is presented as a privilege escalation step but the script does not validate success beyond proceeding. 3) Attempts to upload two files to /wp-content/plugins/modular-ds/uploader.php: a PHP file named p_shell.php containing only an echo marker, and a TXT file v_marker.txt containing a verification marker. 4) Verifies exploitation by GET requesting the expected uploaded paths under /wp-content/plugins/modular-ds/ and checking for marker strings in responses. 5) On success, prints 'Shell Uploaded!' and logs the base URL to VLUN.txt and the PHP payload URL to VLUN_Sh.txt. Capabilities: - Network-based mass targeting with configurable thread count. - Attempts a WordPress plugin-specific privilege escalation via admin-ajax action. - Attempts unauthenticated/weakly authenticated arbitrary file upload into a web-accessible plugin directory. - Post-upload verification and local result logging. Notes: - Despite the 'shell' naming, the PHP payload is not an interactive webshell or RCE primitive; it only prints a marker string. The real impact depends on whether the upload endpoint allows arbitrary PHP upload and execution; if so, the payload could be trivially replaced with a true webshell by an operator.

O99099ODisclosed Jan 28, 2026pythonnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
ModularDsapplication
ModularModular Dsapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity30

Community discussion across Reddit, Mastodon, and other social sources.