Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Contributor user
-
ExploitInvoke dt_verify_external_connection AJAX action
-
ExecutionSupply valid endpointId with attacker-controlled URL
-
ImpactExfiltrate stored external-connection credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated WordPress account with at least Contributor-level privileges on a site running Distributor before 2.3.2; the vulnerable dt_verify_external_connection and dt_begin_authorization AJAX handlers failed to enforce the intended manage_options capability, checking only edit_posts/read-level access. For credential exfiltration via dt_verify_external_connection, the site must already have a configured external connection (post type dt_ext_connection) holding stored credentials, and the attacker supplies a chosen endpointId plus an attacker-controlled url. Limiting factors: exploitation is not anonymous (a valid low-privilege login is required), it is ineffective on installs with no pre-existing external connections to exfiltrate, and sites with no untrusted Contributor-level users have no exposed attack surface. |
| Impact | This is a genuine but moderate-priority issue rather than a critical emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N, score 5.3) is internally consistent with the description: exploitation is network-reachable over WordPress AJAX, low complexity, but requires an authenticated low-privilege (PR:L) Contributor account rather than being anonymous. The principal risk is confidentiality - a low-trust user can coerce the plugin into transmitting stored external-connection credentials to an attacker-controlled host (credential exfiltration / lateral-movement enabler) - plus limited integrity impact via unauthorized connection creation through dt_begin_authorization. Mitigating the severity: there is no CISA KEV listing (not confirmed actively exploited), no public exploit code identified in the provided data, and no EPSS score was supplied, so exploitation probability cannot be quantified from this input. The realistic risk concentrates in multi-author WordPress installations that run Distributor < 2.3.2 AND have Contributor-level accounts AND have already configured external connections with stored credentials; in single-admin sites the PR:L prerequisite and absence of such accounts substantially reduce exposure. Net: a real authorization flaw worth patching promptly where untrusted contributors exist, but not an internet-wide drop-everything threat. |
| Exploit ScenarioDerived | A multi-author publishing site runs Distributor before 2.3.2 and has previously configured an external connection with stored credentials. A malicious or compromised Contributor-level account calls the dt_verify_external_connection AJAX action with a chosen endpointId and an attacker-controlled url, causing the plugin to send the stored connection credentials to the attacker's server. No public proof-of-concept exploit was identified in the provided data; the attack requires only a valid low-privilege login and network access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Missing authorization in the 10up Distributor WordPress plugin before 2.3.2 allows authenticated users with Contributor-level privileges to invoke AJAX handlers that were intended only for administrators, enabling them to send stored external-connection credentials to an attacker-controlled server via dt_verify_external_connection or to create new external connections via dt_begin_authorization. Exploitation requires a valid low-privilege login (CVSS vector PR:L, so authenticated, not anonymous), and the credential-theft path only works on sites that already have a configured external connection holding stored credentials; sites without pre-existing connections or without untrusted Contributor-level accounts have no exposed attack surface. No public exploit has been identified at time of analysis, and the vendor has released a fix in version 2.3.2.
RemediationAI
Upgrade Distributor to version 2.3.2 or later - the vendor-released patch is 2.3.2 (release tag https://github.com/10up/distributor/releases/tag/2.3.2), whose core fix is commit 71542b924fdd446a4183f32b928388d286ae5bb3; patched code enforces per-post edit_post/read_post capability checks, validates the dt_ext_connection post type, and rejects mismatched connection URLs. If immediate upgrade is not possible, reduce the attack surface by removing or downgrading untrusted Contributor-level accounts (side effect: loss of legitimate editorial access), and by auditing and deleting any external connections that are no longer needed so there are no stored credentials available to exfiltrate (side effect: loss of content-distribution functionality). Administrators can also temporarily block unauthenticated or low-privilege access to the affected admin-ajax.php actions through a WAF or by disabling the plugin's external-connection feature entirely, though blocking admin-ajax broadly may break other legitimate plugin functionality. After patching, rotate any credentials used by existing external connections, since they may already have been exposed, and review server and application logs for unexpected calls to dt_verify_external_connection or dt_begin_authorization from low-privilege sessions; consult https://github.com/10up/distributor/security/advisories/GHSA-pxgv-j98h-3xhw for the authoritative vendor guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Distributor is a WordPress plugin by 10up used to syndicate and distribute content to external sites, storing connection details as a custom post type (dt_ext_connection) with credentials in post meta such as dt_external_connection_auth and the endpoint address in dt_external_connection_url. The vulnerability is CWE-862 (Missing Authorization): the plugin's admin-ajax handlers dt_verify_external_connection and dt_begin_authorization only checked a coarse capability such as edit_posts/read-level access instead of the intended manage_options or per-post edit_post/read_post capabilities. Because dt_verify_external_connection accepted attacker-supplied endpointId and url parameters and then fetched the stored credentials for that post ID while validating against the attacker-supplied URL, a Contributor could redirect the credential-verification request to a server they control and capture the stored credentials. The vendor patch (commit 71542b924fdd446a4183f32b928388d286ae5bb3, released in 2.3.2) hardens both handlers by casting the post ID to an integer, verifying the post type is dt_ext_connection, enforcing current_user_can('edit_post', $post_id) when the submitted URL differs from the registered dt_external_connection_url, and adding a read_post capability check; the accompanying JavaScript/CSS changes add a user-facing warning when a connection URL is edited so that existing credentials are not silently sent to a new endpoint.
Know when Distributor gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network AJAX endpoint (AV:N/AC:L) reachable by an authenticated Contributor (PR:L, not PR:N), no user interaction; low confidentiality from credential leak and low integrity from unauthorized connection creation, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Distributor before 2.3.2 contains a missing authorization vulnerability that allows Contributor-level users to invoke external connection AJAX actions intended for manage_options users. Attackers can call dt_verify_external_connection with a chosen endpointId and url to send stored connection credentials to attacker-controlled servers, or abuse dt_begin_authorization to create connections.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Distributor
View allAuthenticated Contributor-level users on a WordPress multisite network running 10up Distributor before 2.3.2 can create
PHP object injection in 10up Distributor before 2.3.2 allows an authenticated Contributor-level user on a connected sour
EUVD-2026-103053
GHSA-xxvq-6crw-36jx
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB