Skip to main content

Photo Reviews EUVDEUVD-2026-96216

| CVE-2026-100161 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-10 Wordfence GHSA-m4wg-wwm4-mh98
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Scrape public wcpr_image_upload nonce from review form
  2. Delivery
    Submit crafted wcpr_image_upload_id payload
  3. Exploit
    Stored in comment meta bypassing wp_kses
  4. Execution
    Victim loads product review page
  5. Impact
    Script executes in victim browser

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the VillaTheme 'Photo Reviews for WooCommerce' plugin installed and active at version 1.2.30 or earlier on a WooCommerce store, with the product review form (which prints the wcpr_image_upload nonce) exposed on the frontend - this is default behavior, so no special configuration is needed to inject. No authentication, capability, or attachment-ownership check applies, so any unauthenticated visitor who reads the public nonce can store a payload. The primary limiting factor is that this is STORED XSS: the script only fires when a victim (shopper or admin) subsequently loads the product page displaying the injected review, so impact depends on that page being viewed rather than executing at injection time.

Impact

This is a genuine, actionable priority for sites running the affected plugin, though not a top-tier internet-wide emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N = 7.2 High) indicates a network-reachable, low-complexity attack requiring no privileges, consistent with the description: the only gate is the publicly-emitted wcpr_image_upload nonce printed on every product review form, so exploitation is effectively unauthenticated. The scope change (S:C) correctly reflects that the stored payload executes in the browser of any visitor who later views the review, impacting a component beyond the vulnerable server. On the mitigating side, no EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation or weaponization - this signal is MISSING rather than negative. The impact is also bounded (C:L/I:L/A:N): stored XSS in a review context typically enables session/cookie theft, admin-session riding, or defacement rather than direct server compromise. Note one nuance to verify: the CVSS uses UI:N, but as stored XSS the payload only fires when a victim loads the injected page - the injection step itself needs no interaction, so UI:N is defensible under Wordfence convention, but defenders should understand a victim page-view is still required for impact. Overall: a real priority to patch on affected WooCommerce stores, but currently 'high-CVSS without confirmed real-world exploitation.'

Exploit ScenarioDerived

An unauthenticated attacker scrapes the publicly-printed wcpr_image_upload nonce from any product review form, then submits a crafted wcpr_image_upload_id value containing a malicious script. Because the value is stored in comment meta (which is not filtered by wp_kses) with no capability, authentication, or attachment-ownership check, the payload persists and executes in the browser of any shopper or administrator who subsequently views that product's reviews. No public exploit code was identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 10, 2026

Stored DOM-based cross-site scripting in the VillaTheme Photo Reviews for WooCommerce plugin through version 1.2.30 lets unauthenticated visitors inject arbitrary web scripts into review-related comment meta, which execute when a shopper or admin later loads a product page displaying the affected review. The assessed vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, and the only gate is the publicly emitted wcpr_image_upload nonce, so no authentication, capability, or attachment-ownership check is required. No public exploit identified at time of analysis, and there is no CISA KEV confirmation of active exploitation.

RemediationAI

No vendor-released patch version is identified in the provided data; verify the VillaTheme plugin page and the Wordfence advisory for an updated release, and upgrade to a patched version as soon as one is available. Until then, the most direct mitigation is to disable the Photo Reviews for WooCommerce plugin, which removes the vulnerable review image upload and display path at the cost of losing photo review functionality. If the plugin cannot be removed, disable product reviews or restrict review submission where possible, and require manual comment approval in WordPress Discussion settings so injected reviews are not displayed on the frontend; note that any later approval of a malicious review can still trigger execution for visitors. Restricting review forms to trusted logged-in users can reduce exposure but is not a complete fix because the root issue is missing sanitization, output escaping, and ownership checks. A WAF or request-filtering rule that blocks malicious wcpr_image_upload_id values can reduce new injections, but it will not remediate payloads already stored in comment meta, so review existing comment metadata and remove suspicious entries during cleanup. Do not rely on wp_kses to clean this data, because the vulnerable storage location is comment meta and is not filtered by that mechanism.

Affected VersionsENISA

Photo Reviews for WooCommerce 0 ≤1.2.30

Affected Packages

euvd photo_reviews_for_woocommerce no fix

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

This is CWE-79 insufficient neutralization of user input during page generation. The plugin integrates review photo uploads into WooCommerce product review forms; the wcpr_image_upload_id parameter is stored in comment meta, a location that is not subject to wp_kses filtering, and is later rendered by JavaScript and PHP components such as default-display-images.js line 17, frontend.php line 1268, and templates/viwcpr-template-basic-html.php line 64. The wcpr_image_upload nonce printed on every product review form is public and is not used as an authorization control. Because the assessed CVSS vector is PR:N and UI:N, remote unauthenticated attackers can submit the malicious value without victim interaction at injection time, but the exploit is stored: the script only fires when a victim subsequently views the page where the injected review appears. The affected CPE is cpe:2.3:a:villatheme:photo_reviews_for_woocommerce:*:*:*:*:*:*:*:*.

Know when Photo Reviews For Woocommerce 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

Vendor (Wordfence) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Public nonce is the only gate so PR:N and AC:L; stored payload executes in a visitor's browser beyond the server giving S:C with C:L/I:L and no availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The Photo Reviews for WooCommerce plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via the 'wcpr_image_upload_id' parameter in all versions up to, and including, 1.2.30 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The publicly-emitted wcpr_image_upload nonce printed on every product review form is the only gate, and no capability, authentication, or attachment ownership check is performed, allowing the payload to be stored in comment meta - which is not subject to wp_kses - by any unauthenticated visitor; the XSS fires once the review is visible on the frontend.

Executive ViewAI

Why It Matters

VillaTheme Photo Reviews for WooCommerce (through version 1.2.30) contains a stored DOM-based cross-site scripting flaw that can let unauthenticated attackers inject scripts into review-related comment metadata displayed on product pages. Because no vendor-released patch is identified and the issue can affect shopper and administrator sessions, leadership should treat this as a high-priority web storefront risk requiring containment while remediation is unavailable. No public exploit has been identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; deactivate or remove the Photo Reviews for WooCommerce plugin, disable review image uploads/comment meta if possible, deploy WAF/virtual patching for wcpr_image_upload and stored XSS payloads, restrict admin access, and monitor review/comment metadata for suspicious script injection.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
popular VillaTheme WooCommerce photo-review plugin, moderate store install base
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy