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

CVE-2026-16066

CVE-2026-16066 Vulnerability in Welcart
📅 PUBLISHED: 2026-08-12 00:00 UTC
[ ZERO-DAY / UNPATCHED ] [ 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: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: < 2.11.34
CVSS VECTOR BREAKDOWN 5.4
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
5.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-16066 is a stored cross-site scripting (XSS) vulnerability in the Welcart e-Commerce WordPress plugin, affecting all plugin versions before 2.11.34. An authenticated user holding at least the Author role can inject arbitrary web scripts into a product field that is neither sanitized on input nor escaped on output; the payload executes in the browser of any visitor who views the affected product page. With a CVSS base score of 5.4 (Medium), the realistic impact is session hijacking, client-side data theft, phishing, and storefront defacement, amplified by the fact that the victim population includes every site visitor, not just administrators.

⚡ 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 vulnerability falls into the CWE-79 (Improper Neutralization of Input During Web Page Generation) class, specifically the stored XSS variant. The NVD description states that Welcart e-Commerce "does not sanitise or escape a product field before outputting it on the product pages." Two distinct input-handling failures are present:

  1. Missing sanitization on input. The application accepts attacker-controlled product content without stripping or neutralizing active markup (script tags, event-handler attributes, javascript: URIs, and similar). No input validation boundary rejects the malicious content at the time it is submitted through the product editor.
  2. Missing output escaping on rendering. When the product page is generated for a visitor, the stored field value is emitted into the HTML document without HTML-entity encoding. The browser therefore treats attacker-controlled tags and attributes as executable page content rather than inert text.

The data flow is uncomplicated: an authenticated user with Author-level privileges on the WordPress installation submits a product field containing script code; the content is persisted verbatim in the WordPress database; any subsequent HTTP request for the product page retrieves the stored value and renders it inline; the visitor's browser parses and executes the embedded script in the origin of the e-commerce site. The attack's persistence is what differentiates it from reflected XSS — the payload is stored once and delivered to every subsequent visitor, making the required user interaction (UI:R) minimal and automatic after the first injection.

The affected population includes all deployments of the plugin below version 2.11.34, which means any WordPress site using Welcart for e-commerce is within the blast radius. The Author role is significant because, in default WordPress configurations, Authors are typically permitted to create content but not to publish it; however, in the Welcart context, the product editor is accessible to Authors, extending a semi-trusted role into a position where it can plant web scripts on the storefront. This explains the CVSS privileges-required value of Low (PR:L) rather than None, and the changed-scope flag (S:C), since the injected script executes in the victim's session context against the storefront origin, enabling actions that exceed the literal confidentiality and integrity values of the vector.

No specific function names, class names, template files, or parameter identifiers are disclosed in the NVD description or CNA title, so an exact vulnerable sink cannot be named without speculation. Insufficient technical detail is available to identify whether the flaw resides in a product meta box, a category description, a custom field, or a WYSIWYG content area. What can be stated with confidence from the description alone is the vulnerability class (stored XSS), the affected privilege level (Author and above), the affected output context (product pages), and the affected version family (before 2.11.34).

The EPSS score of 0.00162 (5.9th percentile of exploited CVEs) and the absence of the CVE from the CISA Known Exploited Vulnerabilities catalog indicate that no in-the-wild exploitation has been observed or reported as of this writing. This low exploitation signal does not materially reduce the risk: stored XSS in e-commerce plugins is a consistently weaponized weakness class because the payoff — browser-side code execution on a trusted shopping domain — is disproportionately high relative to the low privilege required.

Exploitation Scenarios

No public PoC or exploit code has been identified for this CVE as of this report. The attack chain below is inferred strictly from the vulnerability class (stored XSS) and the constraints stated in the NVD description. It should be treated as a probable chain rather than a confirmed one.

Step 1 — Reconnaissance and target identification. The attacker identifies a WordPress-powered storefront running Welcart e-Commerce. Version fingerprinting is commonly performed by reading the plugin's readme file, inspecting asset query strings, or observing storefront markup patterns. Concurrently, the attacker obtains an account with Author role or higher. This can be achieved through legitimate user registration if the site permits Authors to self-register, or through compromise of an existing low-privileged account, or through collusion with a legitimate content author. The low privilege requirement (PR:L) in the CVSS vector confirms that no administrative credentials are necessary.

Step 2 — Triggering the flaw. The attacker logs in and opens the product editor. Because the vulnerable product field is neither sanitized on input nor escaped on output, the attacker simply submits the field containing HTML or JavaScript content. The application stores the payload verbatim in the database; there is no input-boundary enforcement to reject the malicious content at write time.

Step 3 — Payload and execution method. At the vulnerability-class level, a stored XSS payload can take several forms: a <script> block containing browser-side JavaScript, an HTML tag with an event-handler attribute such as onerror or onload, an <iframe> that loads attacker-controlled content, or an <img> tag with a malicious src or event handler. Once the product page is requested by any visitor, the server renders the unsanitized field into the HTML document, and the visitor's browser executes the embedded script in the origin of the e-commerce site. Because the payload is delivered as part of a legitimate server response, network-level defenses that inspect only inbound request traffic will not intercept it.

Step 4 — Post-exploitation impact. The injected script runs with the full access of the victim's browser session against the storefront's origin. Practical outcomes include: theft of session cookies for session hijacking; issuance of authenticated requests on the victim's behalf (account profile changes, order manipulation); injection of fake checkout forms or credential-harvesting phishing overlays; silent redirect of users to attacker-controlled domains; and defacement of the product catalog visible to all shoppers. Since the victim population is not limited to logged-in administrators but includes every anonymous visitor browsing the storefront, the business impact extends to the entire customer base.

Impact Assessment

The CVSS v3.1 base score is 5.4 (Medium) with the vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N. Breaking down the vector: the attack is network-accessible (AV:N) with no special conditions to exploit (AC:L); an authenticated low-privileged account is required (PR:L); the victim must load the compromised product page (UI:R); the security scope changes (S:C) because the injected code executes in the victim's session context, not the attacker's; and the confidentiality and integrity impact are each Low (C:L/I:L), with no availability impact (A:N).

Business impact should be assessed across four dimensions:

  • Customer trust and brand reputation. Stored XSS is visible to every visitor of an affected product page. Malicious overlays, defacement, or injected phishing forms directly erode shopper confidence in the storefront.
  • Confidentiality. Although the confidentiality subscore is Low, the script can read and exfiltrate session tokens, page-embedded personal data, and any input the victim types into injected forms, including credentials or payment-adjacent data.
  • Integrity. The attacker can alter client-side rendering of the page, modify displayed prices or product details, redirect checkout flows, and perform state-changing requests in the victim's session. The Low integrity subscore reflects the constraint that server-side data is not directly modified — the tampering occurs in the browser — but the customer-facing effect can be significant.
  • Compliance. If the injected script harvests personal data or operates on payment-adjacent pages, GDPR and PCI DSS obligations are implicated. Evidence of a stored XSS on a commerce platform may require breach notification assessments even without confirmed data exfiltration.

The blast radius is the entire product catalog and all storefront visitors, bounded only by which product field was injected and whether any template customizations override the vulnerable output path. The lack of a confirmed vendor patch (patch confidence 0/4) means that, at the time of writing, every deployment below version 2.11.34 is exposed, and defenders cannot rely on an upstream fix to normalize the situation.

Detection Guidance

The detection rules below are intentionally generic because (a) no public PoC exists, and (b) the NVD description does not disclose the vulnerable field name, the affected URL parameter, or the product-page URL structure. Analysts should tune the signature components to their site's actual storefront URL patterns and web-server logging schema.

Sigma Rule

title: Welcart Stored XSS Payload in Product Page Request
id: 8f3c1a2e-2a2b-4c6d-9e5f-1b2c3d4e5f61
status: experimental
description: >
  Detects HTTP requests to product-related URLs containing common stored XSS
  payload indicators (script tags, event handlers, javascript: URIs, eval/atob).
  Correlates with CVE-2026-16066 (Welcart e-Commerce stored XSS).
logsource:
  category: webserver
  product: apache
detection:
  selection_path:
    cs-uri-query|contains:
      - 'product'
      - 'item'
  selection_payload:
    cs-uri-query|contains|any:
      - '<script'
      - 'javascript:'
      - 'onerror='
      - 'onload='
      - '<svg'
      - '<iframe'
      - 'eval('
      - 'atob('
      - '%3Cscript'
  condition: selection_path and selection_payload
falsepositives:
  - Legitimate product descriptions that discuss HTML or JavaScript code (rare)
  - Security scanner traffic generating benign XSS probes
level: high
tags:
  - attack.t1059.007
  - cve.2026-16066

YARA Rule

rule Welcart_Stored_XSS_Product_Field {
    meta:
        author = "Valters IT Threat Intelligence"
        description = "Detects stored XSS payload indicators consistent with CVE-2026-16066 in Welcart product page content"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-16066"
        cve = "CVE-2026-16066"
        date = "2026-01-01"
    strings:
        $s1 = "<script" ascii nocase
        $s2 = "javascript:" ascii nocase
        $s3 = "onerror=" ascii nocase
        $s4 = "onload=" ascii nocase
        $s5 = "onmouseover=" ascii nocase
        $s6 = "eval(" ascii nocase
        $s7 = "atob(" ascii nocase
        $s8 = "document.cookie" ascii nocase
        $s9 = "<iframe" ascii nocase
        $s10 = "fromCharCode" ascii nocase
    condition:
        any of ($s*)
}

This YARA rule is designed to be run against exported database content, page dumps, or web-server response captures. It flags the presence of script delivery markers that would never appear in a legitimately escaped product field.

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"CVE-2026-16066 Welcart stored XSS payload observed in HTTP request"; flow:to_server,established; content:"product"; http_uri; nocase; pcre:"/(<script|%3Cscript|javascript:|onerror=|onload=|eval\(|atob\(|fromCharCode)/i"; reference:cve,2026-16066; classtype:web-application-attack; sid:2026160661; rev:1;)

The rule matches outbound (to_server) HTTP requests whose URI contains a product identifier and any of the common XSS payload markers in raw or URL-encoded form. Analysts should additionally consider a to_client mirror rule that inspects server responses for unescaped <script blocks in product page bodies, since the stored payload is delivered in the response rather than the request.

Elastic Detection

The following EQL query searches web-server access logs (Elastic's Apache/Nginx integration) for product-page requests carrying XSS payload indicators. Because the payload is stored server-side, this query detects the initial injection attempt (the attacker's authenticated write request) rather than the delivery to victims.

sequence by source.ip
  [ any where event.module == "apache" and http.request.method == "POST" and
      (url.path like "*product*" or url.query like "*product*") and
      (url.query like "*<script*" or url.query like "*%3Cscript*" or
       url.query like "*onerror=*" or url.query like "*onload=*" or
       url.query like "*javascript:*" or url.query like "*eval(*" or
       url.query like "*atob(*") ]
  [ any where event.module == "apache" and http.response.status_code == 200 and
      url.path like "*product*" ]

The sequence pairs an anomalous POST containing payload material with a subsequent successful product-page response, which is consistent with the write-then-render pattern of the stored XSS.

Splunk SPL Query

index=web sourcetype=access_combined
| where match(uri_path, "(?i)product") AND
        match(uri_query, "(?i)(%3Cscript|<script|onerror=|onload=|javascript:|eval%28|eval\\(|atob%28|atob\\()")
| stats count min(_time) as first_seen max(_time) as last_seen by src_ip, uri_path, uri_query, user_agent
| where count > 1
| sort - last_seen

This query highlights source IPs repeatedly submitting product requests containing XSS markers — a strong indicator of an attacker testing the injection point. The count > 1 filter suppresses single benign scanner hits. Adjust the uri_path match to the site's actual storefront URL convention if product pages use a different pattern.

Wazuh OSSEC Rule

<group name="web,xss,">
    <rule id="100661" level="10">
        <decoded_as>web</decoded_as>
        <regex>(\<script|%3Cscript|onerror=|onload=|javascript:|eval\(|atob\()</regex>
        <description>CVE-2026-16066 - Possible Welcart stored XSS payload observed in HTTP request to product page</description>
        <group>web_application_attack,xss,pci_dss_6.5,</group>
        <mitre>
            <id>T1059.007</id>
        </mitre>
    </rule>
</group>

The rule fires at level 10 when the web decoder observes an HTTP request containing XSS payload markers. Because the vulnerable field is submitted via the authenticated product editor, the most reliable detection signal is the write request from a user account holding Author or higher privileges; correlate rule hits with authentication logs to identify the responsible account.

Mitigation & Patch Guidance

Patch confidence: 0/4 — UNPATCHED. No patch evidence exists in any tracked source at the time of writing. The NVD description identifies version 2.11.34 as the boundary ("before 2.11.34"), implying the fix lands in that release, but no vendor advisory, differential diff, or changelog confirmation is currently available.

1) Immediate mitigations (apply today):

  • Restrict Author role assignments. Audit all WordPress user accounts and remove the Author role from any user who does not absolutely require product-content authoring capability. In high-risk deployments, restrict product editing to Administrators only until the plugin is patched.
  • Deploy a WAF virtual patch. Block requests to the product editor that contain XSS payload markers (<script, onerror=, javascript:, eval(, atob() in POST bodies or query strings. This does not fix the underlying flaw but prevents the write path.
  • Harden the response path with CSP. Implement a Content-Security-Policy header with script-src 'self' and, where feasible, nonce-based allowlisting. A strict CSP substantially reduces the impact of any stored XSS that is successfully written, even if output escaping remains deficient.
  • Monitor product pages. Periodically fetch and diff product page responses against a known-good baseline; unexpected <script> blocks or event-handler attributes are the definitive indicator of a successful injection.
  • Consider disabling the plugin temporarily on business-critical storefronts if product content is managed by multiple non-admin users and no compensating controls can be applied.

2) Patch/upgrade steps:

  • Monitor the official Welcart distribution channel and the WordPress plugin page for the release of version 2.11.34. When it becomes available, upgrade immediately through the WordPress plugin update mechanism or by replacing the plugin directory manually, verifying archive checksums against the vendor's published values.
  • After upgrading, re-audit product content for residual injected script tags; stored payloads are not automatically removed by a code fix and may continue to render if the content is not purged.
  • Reassess the patch confidence rating after the vendor publishes an advisory or the plugin changelog confirms the fix; until then, treat the deployment as unpatched and operational.

3) Long-term hardening:

  • Subscribe to the Welcart vendor advisory feed and the WordPress plugin changelog RSS so that future fixes are triaged the same day they are announced.
  • Integrate WordPress plugin version scanning (e.g., WPScan) into the CI/CD or change-management pipeline so vulnerable plugin versions are flagged automatically.
  • Enforce least privilege across all WordPress roles and require multi-factor authentication for every account with Author-level or higher access, since this vulnerability is gated behind low-privilege credentials.
  • Add defense-in-depth headers to storefront responses: Content-Security-Policy, X-Content-Type-Options: nosniff, Referrer-Policy, and frame-ancestors restrictions.
  • Include stored-XSS test cases in the application security program, specifically exercising product-field input with script, SVG, iframe, and event-handler payloads to validate the effectiveness of any future fix.

References

Campaign / in-the-wild evidence: None reported. The CVE is absent from CISA KEV, no public PoC or exploit code has been identified, no Nuclei template exists, and the EPSS score of 0.00162 (5.9th percentile) indicates a low current likelihood of exploitation. This is characteristic of a freshly disclosed vulnerability in a niche plugin before weaponization; the stored XSS class is nonetheless attractive to actors targeting e-commerce platforms, so continued monitoring is warranted.

👁️ 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.title:"Welcart"
http.html:"welcart"
http.html:"wp-content/plugins"

💣 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-16066/ · 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.