← Back to Feed CACHED · 2026-10-02 10:08:35 · CACHE_KEY CVE-2026-11568
CVE-2026-11568 · CWE-284 · Disclosed 2026-07-01

Product Configurator for WooCommerce < 1.7.3 — Unauthenticated Private/Draft Product Data Disclosure via pc_get_data

ASSESSED — NOISGATE
Vendor
—
—
—
Reassessed
—
—
—
Verdict: —
Do you agree?
01 · The Real Story

Like leaving your unreleased menu prices on the restaurant's public bulletin board

CVE-2026-11568 affects the Product Configurator for WooCommerce WordPress plugin in all versions prior to 1.7.3 (fixed June 8, 2026). The vulnerability resides in the pc_get_data AJAX action, which is registered on wp_ajax_nopriv_ (i.e., available to unauthenticated visitors). When an attacker supplies an arbitrary post ID, the endpoint returns configurator data — title, price, weight, stock status, and option-level pricing or SKUs — even for products in *private* or *draft* status. This bypasses WordPress's built-in post-visibility controls. The fix in 1.7.3 restricts the AJAX response to published products and requires edit_post capability plus a valid nonce for anything else.

The vendor CVSS of 7.5 HIGH is a mechanical output of the AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N vector, but it materially overstates real-world risk. The C:H rating implies disclosure of credentials, PII, or security-critical secrets — here, the exposed data is *product catalog metadata* (prices, SKUs, stock levels for unreleased items). That is commercially sensitive at most, not security-critical. There is zero integrity or availability impact, no path to code execution, no credential exposure, and no customer data at stake. The plugin has only ~3,000 active installations globally — a vanishingly small footprint. Combined with no known exploitation in the wild, no public PoC, and an EPSS of 0.46%, the real-world severity is LOW.

"Niche WooCommerce plugin leaks draft product prices to unauthenticated callers — commercial nuisance, not a security crisis."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Identify a target running the plugin

The attacker must locate a WordPress/WooCommerce site running Product Configurator for WooCommerce < 1.7.3. The plugin registers the pc_get_data AJAX action, which can be fingerprinted by sending a POST to /wp-admin/admin-ajax.php?action=pc_get_data and observing a structured JSON response rather than a 0 or -1 error. Alternatively, the attacker can look for front-end script enqueues referencing /product-configurator-for-woocommerce/.
Conditions required:
  • Target site runs WordPress + WooCommerce
  • Product Configurator for WooCommerce plugin is installed and active at version < 1.7.3
Where this breaks in practice:
  • Only ~3,000 active installations worldwide — finding a target is extremely difficult at scale
  • No Shodan/Censys/FOFA dork readily identifies this plugin's AJAX endpoint
Detection/coverage: WPScan or Wordfence vulnerability scanner flags this CVE on affected sites.
STEP 02

Enumerate product IDs

WordPress post IDs are sequential integers. The attacker iterates through IDs (e.g., 1–10000) in POST requests to admin-ajax.php?action=pc_get_data with product_id=<N>. Most IDs will return empty or error responses; valid product IDs with configurator data return JSON payloads. The attacker is essentially brute-forcing the post ID space, which is noisy but trivially scriptable with curl in a loop.
Conditions required:
  • Network access to the target's WordPress AJAX endpoint
Where this breaks in practice:
  • High request volume is easily rate-limited by WAF, Cloudflare, or WordPress security plugins like Wordfence
  • Most WordPress sites sit behind a CDN or reverse proxy that can throttle enumeration
Detection/coverage: Web application firewall (WAF) rules or WordPress security plugins detect high-volume AJAX enumeration. Server access logs show repeated POST requests to admin-ajax.php with sequential product_id values.
STEP 03

Retrieve private/draft product data

For each valid product ID that maps to a private or draft product, the AJAX endpoint returns the product's title, price, weight, stock status, and configurator option details (pricing tiers, SKUs). The attacker collects this data to build a picture of unreleased or hidden products. No further exploitation chain is possible — the data is product catalog metadata only.
Conditions required:
  • At least one product on the target site is in private or draft status AND has configurator data attached
Where this breaks in practice:
  • Many small WooCommerce stores have few or zero draft/private products with configurator data
  • The leaked data (prices, SKUs, stock) is commercially sensitive but has no security value — no credentials, no PII, no tokens
  • The attacker cannot modify, delete, or escalate from this disclosure
Detection/coverage: No standard detection beyond WAF/log monitoring for the enumeration in step 2. The response itself is a normal 200 OK.
03 · Compensating Control

1
LOW 3.5→IGNORE 0.0
SEVERITY REDUCED
Update to version 1.7.3 or later — The definitive fix. Version 1.7.3 restricts the pc_get_data AJAX action to published products and requires edit_post capability plus a valid nonce for non-published items. As a LOW-severity finding, there is no noisgate mitigation SLA — treat this as backlog hygiene and roll the update into your next scheduled WordPress maintenance cycle.
2
LOW 3.5→IGNORE 0.0
SEVERITY REDUCED
Block unauthenticated AJAX requests to pc_get_data at the WAF or reverse proxy — If you cannot update immediately, add a WAF rule (Cloudflare, ModSecurity, Wordfence) to block POST requests to /wp-admin/admin-ajax.php where the action parameter equals pc_get_data and the request lacks a valid WordPress authentication cookie. This eliminates the unauthenticated attack vector entirely.
3
LOW 3.5→IGNORE 0.0
SEVERITY REDUCED
Remove or deactivate the plugin if not in active use — With only ~3,000 installations, many sites may have installed this plugin experimentally. If it is not actively used for product configuration, deactivate and delete it to eliminate the attack surface entirely.
What doesn't work
  • IP-based rate limiting alone — While rate limiting slows enumeration, a determined attacker can spread requests across multiple IPs or use slow enumeration to stay under thresholds. It raises the bar but does not fix the authorization flaw.
  • Setting products to 'published' status — This removes them from the 'private/draft leak' scenario but defeats the business purpose of having draft products. It is a workaround that creates a different problem.
04 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNone observed. Not listed in CISA KEV. No GreyNoise or Shadowserver tags. No campaign reporting from any threat intel vendor as of 2026-10-02.
Proof-of-Concept AvailabilityNo public PoC found. Checked pocindex.io (no entry), GitHub (no repos named CVE-2026-11568), ExploitDB (no entry), and Nuclei templates (none). Exploitation is trivial (a single curl POST) but no packaged exploit exists.
EPSS Score0.00461 (0.46%) — bottom quartile. FIRST/EPSS model rates exploitation probability as very low over the next 30 days.
CISA KEV StatusNot listed. No federal agency mandate to patch.
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N — Network-accessible, no auth, no interaction, but confidentiality-only impact. The C:H rating is mechanically correct under CVSS rules but overstates real-world sensitivity (product metadata ≠ credentials or PII).
Affected VersionsProduct Configurator for WooCommerce < 1.7.3 (all prior versions). Current release is 1.7.5 (August 11, 2026).
Fixed Version1.7.3 (released June 8, 2026). Changelog: *SECURITY: Restrict configurator data AJAX access to published products; non-published products require edit capability and a valid nonce.*
Installed Base~3,000 active installations per wordpress.org. Extremely niche plugin in the WooCommerce ecosystem.
Scanning / Exposure DataNo Shodan, Censys, or FOFA dorks specific to this plugin's AJAX endpoint. The plugin's front-end assets can theoretically be fingerprinted via Wappalyzer or WPScan, but no mass-scanning campaigns have been observed.
Reporter / DisclosureDisclosed via WPScan vulnerability database (wpscan.com/vulnerability/e208fee5-dad5-4aeb-b9b5-fbd72a5633e4). Original researcher not publicly attributed. Published 2026-07-01.

Sources.

  1. OpenCVE — CVE-2026-11568 Details
  2. WPScan — Product Configurator for WooCommerce Vulnerabilities
  3. WordPress.org — Product Configurator for WooCommerce Plugin Page
  4. WPScan — Vulnerability Detail (e208fee5)
  5. CyberStrike — CVE-2026-11568
  6. Hol Security — CVE-2026-11568 Advisory
05 · The Call

Final Verdict
↓ DOWNGRADED to LOW (3.5/10)

Why this verdict

  • C:H is overstated for the data type: The CVSS Confidentiality:High rating assumes exposure of credentials, PII, or security-critical secrets. The actual data leaked is *product catalog metadata* — prices, titles, SKUs, stock status for unpublished items. This is commercially annoying, not a security breach. A more accurate assessment is C:L, which alone drops the base score to 5.3.
  • Microscopic installed base: With ~3,000 active installations globally, this plugin represents a vanishingly small fraction of the WordPress ecosystem (~800M+ sites). Even among WooCommerce sites (~6.5M), this is <0.05%. The population of vulnerable targets is negligible for any scaled attack campaign.
  • No exploitation chain or pivotability: The vulnerability is a dead-end information disclosure. There is no path from leaked product data to code execution, privilege escalation, credential theft, or lateral movement. The attacker gets unreleased product prices and goes home.
  • Zero threat intelligence signal: No KEV listing, no PoC, no in-the-wild exploitation, EPSS in the bottom quartile. The security community has not deemed this worth weaponizing — because it isn't.
  • Role multiplier: This plugin runs exclusively on WordPress/WooCommerce e-commerce storefronts. It does not appear in any high-value deployment role (not on domain controllers, hypervisors, CI/CD, backup systems, identity providers, network edge, SCADA, or any supply-chain-critical infrastructure). The worst-case blast radius is disclosure of a single store's unreleased product catalog on a single WordPress host. No floor elevation applies.

Why not higher?

A MEDIUM rating would imply operational urgency or a plausible path to material harm. The data exposed is product metadata with no security value — it cannot be used to compromise the host, steal customer data, or pivot laterally. The installed base of ~3,000 sites makes mass exploitation economically irrational. No threat actor has shown interest.

Why not lower?

An IGNORE rating would imply zero action is warranted. While the real-world impact is minimal, the vulnerability *does* represent a genuine access-control failure, it *is* unauthenticated and remotely exploitable, and some merchants may consider unreleased product pricing to be legitimately sensitive competitive intelligence. It belongs in the backlog, not in the trash.

06 · Verification

Crowdsourced verification payload.

Run this script on the WordPress host itself (or any machine with wp-cli access to the target site) as a user with read access to the WordPress installation directory. Usage: bash check_cve_2026_11568.sh /var/www/html (pass the WordPress root path as the first argument). No elevated privileges required — it only reads plugin files.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_cve_2026_11568.sh — Detect CVE-2026-11568 in Product Configurator for WooCommerce
# Usage: bash check_cve_2026_11568.sh /path/to/wordpress
# Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN

set -euo pipefail

WP_ROOT="${1:-/var/www/html}"
PLUGIN_DIR="$WP_ROOT/wp-content/plugins/product-configurator-for-woocommerce"
MAIN_FILE="$PLUGIN_DIR/product-configurator-for-woocommerce.php"

if [ ! -d "$PLUGIN_DIR" ]; then
  echo "UNKNOWN — Plugin directory not found at $PLUGIN_DIR"
  exit 2
fi

if [ ! -f "$MAIN_FILE" ]; then
  # Try alternate main file names
  MAIN_FILE=$(find "$PLUGIN_DIR" -maxdepth 1 -name '*.php' -exec grep -l 'Plugin Name:' {} \; | head -1)
  if [ -z "$MAIN_FILE" ]; then
    echo "UNKNOWN — Cannot locate plugin main file in $PLUGIN_DIR"
    exit 2
  fi
fi

# Extract version from plugin header
VERSION=$(grep -i '^[[:space:]]*\*[[:space:]]*Version:' "$MAIN_FILE" | head -1 | sed 's/.*Version:[[:space:]]*//' | tr -d '[:space:]')

if [ -z "$VERSION" ]; then
  echo "UNKNOWN — Could not extract plugin version from $MAIN_FILE"
  exit 2
fi

echo "Detected Product Configurator for WooCommerce version: $VERSION"

# Compare versions: vulnerable if < 1.7.3
REQUIRED="1.7.3"
if printf '%s\n%s\n' "$REQUIRED" "$VERSION" | sort -V | head -1 | grep -qx "$REQUIRED"; then
  # VERSION >= REQUIRED
  echo "PATCHED — Version $VERSION >= $REQUIRED (CVE-2026-11568 is fixed)"
  exit 0
else
  echo "VULNERABLE — Version $VERSION < $REQUIRED (CVE-2026-11568 applies)"
  exit 1
fi