☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N 🐛 CWE-639
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-15214

CVE-2026-15214 — Subscriptions for WooCommerce < 2.0.1 - Subscriber+ Subscription Detail Disclosure via IDOR
📅 PUBLISHED: 2026-08-07 00:00 UTC 🔄 UPDATED: 2026-09-23 20:35 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.16%
👁️
0.16% probability
4.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1557
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 4.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-15214 is an Insecure Direct Object Reference (IDOR) vulnerability in the "Subscriptions for WooCommerce" WordPress plugin, affecting versions prior to 2.0.1. The flaw allows any authenticated user with Subscriber-level privileges or higher to retrieve and read another customer's subscription details—including the subscribed product, subscription status, and relevant dates—by simply supplying the target subscription's numeric ID via the plugin's unauthenticated (within the authenticated context) detail view endpoint. While the CVSS base score is 4.3 (Medium) due to low confidentiality impact and no integrity/availability impact, the vulnerability constitutes a meaningful privacy breach within an e-commerce platform, potentially exposing sensitive customer data and facilitating further social engineering or account-specific targeting. The patch is confirmed to exist in version 2.0.1, though the fix is currently evidenced by a single source (NVD) and has not been independently verified.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The root cause of CVE-2026-15214 lies in the plugin's failure to enforce an ownership check on the subscription detail retrieval function. In typical WordPress plugin implementations, a shortcode or AJAX handler such as subscription_details( $subscription_id ) would query the wp_posts and wp_postmeta tables to fetch a subscription's metadata (e.g., _subscription_status, _product_id, _start_date, _end_date) based on a user-supplied subscription_id parameter. The vulnerable code path, likely triggered via a page using the [subscriptions] shortcode or a dedicated REST endpoint, instantiates a subscription object using the ID from the HTTP request (e.g., $_GET['subscription_id'] or a route parameter) without checking that the requesting user's user_id matches the subscription's _customer_id meta value.

The attack surface is the front-end subscription management area accessible to authenticated users. The application accepts the subscription ID as a direct object reference and renders its details in the response, omitting any authorization check. The vulnerability is classified under CWE-639 (Authorization Bypass Through User-Controlled Key), indicating the flaw is a direct consequence of trusting user input as an object reference without a capability/ownership check. The affected code likely uses get_post( $id ) and get_post_meta( $id ) directly, which do not incorporate user context.

The CVSS attack vector is Network (AV:N), requiring Low attack complexity (AC:L) and Low privileges (PR:L—an authenticated Subscriber account is sufficient). No user interaction is needed (UI:N). The scope is Unchanged (S:U) as the compromised component is isolated, and the confidentiality impact is Low (C:L), as only limited subscription metadata (status, dates, product reference) is disclosed, not full PII or payment data. There is no integrity (I:N) or availability (A:N) impact.

Exploitation Scenarios

The exploitation of CVE-2026-15214 is straightforward and requires only basic WordPress user credentials. The attack chain proceeds as follows:

  1. Reconnaissance / Target Identification: The attacker registers a free Subscriber account on the target WooCommerce site (or compromises an existing low-privilege account). For WooCommerce plugin endpoints, the attacker must first identify the URL structure for accessing subscription details. This is typically under the "My Account" section, e.g., https://target.com/my-account/subscriptions/view/152 or through a shortcode-driven page like https://target.com/subscription-details/?subscription_id=152. The attacker enumerates the endpoint by navigating to their own subscription (if any) or by analyzing the plugin's source code (available via the WordPress plugin repository) to locate the parameter name.

  2. Weaponization / Trigger: The attacker crafts a direct HTTP GET request to the identified endpoint, iterating the subscription ID parameter. For example:

    GET /my-account/subscriptions/view/153 HTTP/1.1
    Host: target.com
    Cookie: wordpress_logged_in_xxxx=abc123 (attacker's session)
    

    Or via the shortcode approach:

    GET /subscription-details/?subscription_id=153
    

    The attacker can use standard tools like curl, Burp Suite, or a simple Python script to automate the iteration of IDs from 1 to N, capturing responses.

  3. Payload / Execution: As the plugin renders the subscription details without ownership verification, the server responds with the subscription metadata for ID 153, belonging to a different customer. The response contains the subscribed product name/ID, subscription status (e.g., "active", "cancelled", "pending"), and associated dates (start, trial end, expiry). No special payload is required—the flaw is purely in the server-side authorization logic, not input validation.

  4. Post-Exploitation Impact: The attacker collects subscription IDs and associated data across the entire customer base. This enables targeted phishing campaigns (knowing which product a victim subscribes to), competitive intelligence gathering (if the store offers subscription-based services), or building a profile of high-value customers for further attacks. If the attacker also finds multiple subscriptions linked to the same customer, they can infer account activity patterns. In cases where the product ID reveals details about a business relationship, this could have compliance implications.

Impact Assessment

The business impact of CVE-2026-15214 centers on confidentiality and privacy within the e-commerce ecosystem. A successful exploit allows an authenticated low-privilege user to enumerate all subscription records on the platform, exposing:

  • The specific products or services to which other customers are subscribed.
  • Subscription lifecycle status (active, paused, cancelled).
  • Contractual dates (start, renewal, expiry), which can reveal billing cycles.

While payment card data and full names are not disclosed (the vulnerability is limited to subscription object details), the information can be leveraged for social engineering and provides a tangible foothold for broader reconnaissance. For organizations subject to GDPR, CCPA, or similar privacy regulations, this data exposure could constitute a reportable breach, particularly if subscription product types reveal sensitive health, financial, or lifestyle information.

The affected systems are any WordPress-powered e-commerce store running the "Subscriptions for WooCommerce" plugin in versions before 2.0.1. Given that WooCommerce powers a significant portion of the e-commerce web, the attack surface is substantial, though exploitation is constrained to authenticated users, reducing the likelihood of mass opportunistic scanning. The CVSS subscores confirm this limited scope: Low privileges required (PR:L) and Low confidentiality impact (C:L), yielding the Medium overall score of 4.3. The blast radius is limited to data leakage; there is no potential for privilege escalation, data modification, or denial of service via this specific vulnerability.

Detection Guidance

Detection of this vulnerability is challenging because the exploit traffic is indistinguishable from legitimate user enumeration or normal browsing of subscription views, and it occurs over standard HTTP(S) on the WordPress site. Detection focuses on anomalous patterns in API/endpoint access, unusual ID sequencing, and access control audit failures.

Sigma Rule

The Sigma rule below detects anomalous enumeration patterns against WooCommerce subscription endpoints. It monitors web server access logs for requests to the subscription view URL with consecutive or high-volume numeric IDs from a single user session.

title: WooCommerce Subscription IDOR Enumeration Attempt
id: 9f3c2b1a-4d5e-6f78-90ab-cdef12345678
status: experimental
description: Detects multiple requests to the WooCommerce subscription view endpoint with varying subscription IDs from the same IP or user, indicating possible IDOR enumeration for CVE-2026-15214.
author: Valters IT Security Research
date: 2026/01/15
logsource:
  category: webserver
  product: apache
  service: accesslog
detection:
  selection:
    cs-uri-path:
      - '/my-account/subscriptions/view/*'
      - '*subscription_id=*'
  condition: selection | count() by clientip > 10
  timeframe: 60s
falsepositives:
  - Legitimate support agents viewing multiple subscriptions
  - Administrators bulk-reviewing subscriptions
level: medium

YARA Rule

This YARA rule targets server-side log entries or HTTP payload captures containing the vulnerable endpoint signatures, aiding in forensic analysis of compromised stores.

rule WooCommerce_Subscription_IDOR_Indicator
{
    meta:
        author = "Valters IT Security"
        description = "Detects HTTP request patterns or log lines indicating subscription IDOR exploitation attempts."
        cve = "CVE-2026-15214"
        date = "2026-01-15"
    strings:
        $a = "/my-account/subscriptions/view/" ascii
        $b = "subscription_id=" ascii
        $c = "subscriptions/view/" ascii nocase
        $d = "subscription-details" ascii
    condition:
        any of them
}

Suricata IDS Rule

The Suricata rule examines HTTP traffic for rapid sequential requests to the subscription detail endpoint, flagging potential enumeration bursts.

alert http any any -> $HOME_NET any (msg:"CVE-2026-15214 WooCommerce Subscription IDOR Enumeration"; flow:established,to_server; content:"subscription_id="; http_uri; content:"/my-account/subscriptions/view/"; http_uri; threshold:type both, track by_src, count 15, seconds 60; sid:1521401; rev:1;)

Elastic Detection

This EQL query, for Elastic Security, detects user-driven enumeration by counting distinct subscription IDs per user session within a short time frame.

sequence by user.id with maxspan=1m
  [ webRequest where url.path == "/my-account/subscriptions/view/*" ]
  | stats distinct_count(url.path) as paths by user.id
where paths > 10

Splunk SPL Query

The following Splunk search analyzes IIS/Apache access logs to find users requesting a high number of unique subscription IDs.

index=web sourcetype=access_combined
| rex field=uri_path "/my-account/subscriptions/view/(?<id>\d+)"
| where isnotnull(id)
| stats dc(id) as distinct_ids values(id) as id_list by clientip user
| where distinct_ids > 10
| table _time clientip user distinct_ids id_list

Wazuh OSSEC Rule

The Wazuh XML rule below triggers an alert when the web server access log contains an unusual pattern of subscription ID requests from a single source.

<group name="web,accesslog,attacks,">
  <rule id="152140" level="8">
    <decoded>predecoder.hostname</decoded>
    <match>subscription_id=</match>
    <regex>subscription_id=(\d+)</regex>
    <description>Potential IDOR enumeration against WooCommerce subscriptions</description>
    <group>pci_dss_6.5,gdpr_32,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence is rated 2/4 (CLAIMED). A patched version exists (2.0.1), but the vendor advisory is not independently confirmed across multiple sources. Immediate action is required.

1) Immediate Mitigations (without patching):

  • Restrict the "Subscriptions" page via a shortcode filter or custom code snippet to only render details if the curent user's ID matches the subscription's _customer_id meta. This can be done using the user_has_cap filter or a custom template override.
  • If you cannot patch immediately, disable the public-facing subscription detail view via plugin settings or by removing the shortcode from the My Account page.
  • Implement a WAF rule to rate-limit requests to the subscription endpoints, restricting the number of ID-based requests per IP per minute.

2) Patch / Upgrade Steps:

  • Primary Fix (Recommended): Update the "Subscriptions for WooCommerce" plugin to version 2.0.1 or later. In the WordPress admin panel, navigate to Plugins → Installed Plugins, locate the plugin, and click "Update Now." Alternatively, download the latest version from the WordPress Plugin Repository and replace the plugin folder via FTP or a package manager.
  • Verification: After updating, test the fix by attempting to view another user's subscription ID (using two test accounts). If the updated version correctly returns an "access denied" or redirects, the patch is effective.

3) Long-Term Hardening:

  • Adopt a maintenance routine that includes regular plugin updates and subscribing to WordPress security advisories.
  • Enforce the principle of least privilege: ensure that only customers needing subscription access are assigned appropriate roles, and audit user roles monthly.
  • Deploy a Web Application Firewall (WAF) with virtual patching capabilities to block IDOR patterns if immediate patching is not possible.
  • Thoroughly examine access logs for evidence of prior exploitation (refer to the Detection Guidance section) and consider notifying affected customers if a breach is suspected, aligning with GDPR/CCPA disclosure requirements.

References

Threat Actor Campaigns / Active Exploitation: As of this report, there is no known exploit-in-the-wild evidence or tracked threat actor campaigns specifically targeting CVE-2026-15214. The CISA KEV (Known Exploited Vulnerabilities) catalog has not listed this CVE, and no public exploit code or Nuclei templates have been published. However, due to the trivial nature of the flaw, independent security researchers may soon release proof-of-concept scripts, increasing the exploitation risk. EPSS has not yet scored this vulnerability.

👁️ SHODAN DORKS (THREAT HUNTING)

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.

http.component:"WordPress" http.component:"Subscriptions for WooCommerce"
http.component:"WordPress" http.title:"Shop"
http.component:"WordPress" body:"subscriptions" http.title:"My Account"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-15214/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.