CVE-2026-103685
Executive Summary
CVE-2026-103685 is a missing authorization vulnerability (CWE-862) affecting the WordPress plugin "ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce" (slug woo-alidropship) by VillaTheme, in all versions up to and including 2.2.4. The flaw allows an authenticated low-privileged user to invoke functionality that should be restricted to higher-privileged roles, because access control checks are incorrectly configured or absent. The impact is limited to integrity (CVSS 4.3), but the plugin is deployed on WooCommerce storefronts where incorrect authorization on configuration or fulfillment operations can expose business logic and order-related state.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability is classified as CWE-862 (Missing Authorization) and is described by NVD as an "Exploiting Incorrectly Configured Access Control Security Levels" issue. In practical terms, a component of the ALD plugin exposes one or more operations that require a capability check (for example, an administrative or shop-manager capability in WordPress) but fails to enforce that check correctly. An authenticated account with only low privileges can therefore perform an action reserved for a privileged role.
Two mechanical patterns are consistent with this CVE class in WordPress plugins:
Missing capability check on a registered action. WordPress exposes administrative operations through
admin-ajax.phpactions or REST routes registered withregister_rest_route(). If the route'spermission_callbackreturns true unconditionally — or is omitted — any user who can authenticate to the site can invoke the handler. The NVD phrase "Incorrectly Configured Access Control Security Levels" is the canonical wording for a handler whose permission callback fails to restrict access.Unauthenticated or weakly authenticated entry point behind a nonce check. WordPress nonces are session/action bound and are not authorization controls. A handler that validates only a nonce, but not a capability, remains reachable by authenticated low-privilege users.
The CVSS vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N is decisive in constraining the analysis: the attack is network-reachable (AV:N), requires no special conditions beyond normal configuration (AC:L), requires the attacker to hold some account (PR:L), and requires no victim interaction (UI:N). Crucially, C:N means there is no demonstrated data disclosure and I:L means the effect is a limited integrity modification; A:N means no availability loss. This rules out credential theft of other users' data, remote code execution, and denial-of-service interpretations. The realistic effect is tampering with plugin-managed state that a low-privileged user should not be able to change.
Because the NVD description names no specific endpoint, function, class, parameter, or capability, no implementation-level details can be asserted. The exact vulnerable handler, the required capability, and the modified resource are not publicly documented. Any function or file name not present in the description would be speculation, and is therefore deliberately omitted. No public proof-of-concept, exploit code, or Nuclei template exists as of this writing, so the attack chain below is reconstructed at the vulnerability-class level only.
Exploitation Scenarios
No public PoC is available; the attack chain is inferred from the vulnerability class (missing authorization / incorrectly configured access control) and the CVSS vector. Because no endpoint names are disclosed, the following is described generically.
1) Reconnaissance and target identification. The attacker identifies WordPress sites running WooCommerce with the ALD plugin active. Passive identification is possible by fingerprinting front-end assets/scripts and HTML markers served by the plugin. An attacker with a valid low-privilege account — obtainable through self-registration if enabled, a compromised subscriber account, or a low-tier customer account created during checkout — can enumerate plugin-served admin-ajax or REST endpoints from page source and script includes.
2) Triggering the authorization flaw. The attacker authenticates with the low-privilege account and sends a request (to an admin-ajax action or REST route associated with the plugin) that a properly configured installation would reject for that role. Because the authorization check on that handler is missing or misconfigured (CWE-862), the request is processed instead of returning a 401/403 authorization failure. The distinguishing signal is a privileged operation succeeding while authenticated as an unprivileged user.
3) Payload/action execution. At the vulnerability-class level, the attacker submits a state-changing request that the handler accepts. Given I:L, the write is of limited scope — for example, altering a plugin-managed option or fulfillment/dropshipping configuration value the user should not control. No file upload, code execution, or serialized-object abuse is implied by the vector.
4) Post-exploitation impact. The effect is confined to an integrity modification of plugin-controlled settings or records. There is no confidentiality impact (C:N), so the attacker does not gain access to other users' data as a direct result; there is no availability impact (A:N). Practical consequences depend on what the affected operation governs (for example, fulfillment mappings or configuration flags) and are not specified in the available data.
Impact Assessment
Affected systems are WordPress/WooCommerce installations that have the ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce plugin installed at version 2.2.4 or earlier. The blast radius is limited by the CVSS subscores:
- Confidentiality (C:N): No loss of confidentiality is scored; no direct disclosure of sensitive data is established.
- Integrity (I:L): Limited, non-broad modification of plugin-managed state. The scope of what can be altered is not publicly documented.
- Availability (A:N): No availability impact.
- Exploitability: AV:N (remote), AC:L (no special conditions), PR:L (attacker holds a low-privilege account), UI:N (no victim interaction). This makes exploitation straightforward for anyone who already holds a basic account on a vulnerable site.
Business impact is therefore moderate and integrity-centric: an unprivileged user may alter configuration or fulfillment-related data they are not authorized to change. On a live e-commerce storefront, incorrect modification of dropshipping/fulfillment settings could disrupt order routing or present incorrect data downstream, though no availability impact is scored and no direct financial or data-loss outcome is demonstrated by the data. The plugin appears to be a relatively low-deployment-count extension, which reduces aggregate exposure relative to core WordPress or high-popularity plugins. Given the CVSS 4.3 and absence of public exploit code or KEV listing, this should be treated as a medium-priority hardening item rather than an emergency.
Detection Guidance
Detection strategy for missing-authorization flaws is behavioral: identify authenticated low-privilege sessions performing plugin operations that are normally restricted to administrators or shop managers. Because the specific action name and route are not disclosed, the rules below target the plugin's request surface and the generic pattern of low-privilege writes to plugin-handling endpoints. Tune endpoint tokens (admin-ajax.php, wp-json) and the plugin slug to your environment.
Sigma Rule
title: Low-Privilege Authenticated Access to ALD Dropshipping Plugin Handler (CVE-2026-103685)
id: 7b9c1e42-ald-2026-103685-sigma
status: experimental
description: Detects authenticated requests to the ALD (woo-alidropship) plugin request surface originating from users without administrative privileges, consistent with CWE-862 missing authorization abuse.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-103685
author: valtersit.com
date: 2026-01-01
logsource:
category: webserver
detection:
selection_endpoint:
cs-uri-query|contains:
- 'admin-ajax.php'
- '/wp-json/'
selection_plugin:
cs-uri-query|contains:
- 'woo-alidropship'
- 'alidropship'
- 'ald_'
selection_method:
cs-method:
- 'POST'
- 'PUT'
filter_admin:
cs-username|startswith: 'admin'
condition: selection_endpoint and selection_method and (selection_plugin) and not filter_admin
fields:
- c-ip
- cs-username
- cs-uri-query
- sc-status
falsepositives:
- Legitimate low-privilege customer actions that legitimately reach shared plugin routes
level: medium
YARA Rule
rule CVE_2026_103685_ALD_Missing_Authorization
{
meta:
description = "Detects ALD (woo-alidropship) plugin handler code lacking capability checks, for CVE-2026-103685 post-incident triage"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-103685"
date = "2026-01-01"
hash = "unknown"
strings:
$plugin = "woo-alidropship" ascii wide
$handler = "admin-ajax" ascii wide
$rest = "register_rest_route" ascii wide
$checkbox = "current_user_can" ascii wide
condition:
uint16(0) == 0x3C3F or uint16(0) == 0x6873 or $plugin
and $plugin
and ($handler or $rest)
// Flag plugin handler files that register routes/actions
// but contain no capability check string for auditing.
// NOTE: absence of $checkbox within the file is the signal of interest.
}
Suricata IDS Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2026-103685 ALD Dropshipping plugin low-privilege handler access"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"admin-ajax.php"; http.uri; content:"action="; http.request_body; content:"alidropship"; nocase; classtype:attempted-admin; reference:cve,2026-103685; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-103685; sid:2026103685; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=5m
[ authentication where event.outcome == "success" and user.roles : "subscriber" ]
[ network where http.request.method in ("POST", "PUT")
and http.request.body.text : ("alidropship", "woo-alidropship", "ald_")
and url.path : ("*admin-ajax.php*", "*wp-json*") ]
Splunk SPL Query
index=web sourcetype=access_combined OR sourcetype=nginx:access OR sourcetype=apache:access
(http.url_path="*/admin-ajax.php*" OR http.url_path="*/wp-json/*")
http.method IN ("POST","PUT")
(http.url_query="*alidropship*" OR http.url_query="*woo-alidropship*" OR http.url_query="*ald_*")
| stats count min(_time) as first_seen max(_time) as last_seen
values(http.url_query) as endpoints by src_ip, http.url_path, http.status
| where count > 0
| convert ctime(first_seen) ctime(last_seen)
| sort - count
Wazuh OSSEC Rule
<group name="web,wordpress,ald,">
<rule id="2026103" level="8">
<decoded_as>web-accesslog</decoded_as>
<url>admin-ajax.php|wp-json</url>
<match>alidropship|woo-alidropship|ald_</match>
<description>CVE-2026-103685: Access to ALD Dropshipping plugin handler (possible missing-authorization abuse)</description>
<mitre>
<id>T1078</id>
</mitre>
<group>cve_2026_103685,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). No vendor advisory, fixed version, or workaround has been published as of this writing.
1) Immediate mitigations
- Restrict or disable self-registration and review existing low-privilege accounts (subscribers/customers) on stores running the plugin, since exploitation requires only a low-privileged authenticated account (PR:L).
- If the plugin is not actively used for fulfillment, deactivate and remove it from production sites until a fix is available.
- Enforce least privilege on the WordPress user base; audit accounts that can authenticate but should not interact with the ALD plugin.
- Apply a WAF or reverse-proxy rule that restricts the plugin's request surface to trusted roles/IPs where operationally feasible.
2) Patch/upgrade steps
- No fixed version currently exists. Monitor the vendor (VillaTheme) and the WordPress plugin repository for a release newer than 2.2.4 that addresses CWE-862 in this component.
- When a patched version is released, stage-test on a non-production copy and validate that authorization checks are applied to every plugin-administered route before production rollout.
- Re-scan affected sites after upgrade to confirm the vulnerable code is removed.
3) Long-term hardening
- Adopt a WordPress plugin inventory and version-tracking process; enforce prompt updates and remove abandoned plugins.
- Code-review plugin handlers for correct use of WordPress capability checks (
current_user_can()) and RESTpermission_callbackfunctions; treat nonces as anti-CSRF, not as authorization. - Conduct periodic authorization testing of authenticated low-privilege roles against plugin endpoints to detect missing-authorization defects proactively.
- Track CVE feeds and CISA KEV for status changes; if exploitation activity emerges, elevate priority and apply the mitigations above with force.
References
- NVD — CVE-2026-103685: https://nvd.nist.gov/vuln/detail/CVE-2026-103685
- CWE-862 — Missing Authorization: https://cwe.mitre.org/data/definitions/862.html
- FIRST — EPSS (not yet scored at time of writing): https://www.first.org/epss/
- CISA Known Exploited Vulnerabilities Catalog (no KEV entry as of this report): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- VillaTheme — ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce (vendor plugin source): https://wordpress.org/plugins/woo-alidropship/
No public proof-of-concept, exploit code, Nuclei template, or exploit-in-the-wild evidence has been identified for this CVE. No threat actor campaign is associated with it in the available data. Status is UNPATCHED.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.