Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-12968

CVE-2026-12968: WordPress Product Addons Plugin XSS Flaw

CVE-2026-12968 is an XSS vulnerability in the Product Addons and Product Options plugin for WordPress that allows unauthenticated attackers to upload malicious SVG files. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-12968 Overview

CVE-2026-12968 affects the Product Addons and Product Options With Custom Fields WordPress plugin in versions prior to 1.6.15. The plugin exposes an unauthenticated file-upload endpoint that accepts Scalable Vector Graphics (SVG) files without proper validation. Attackers can upload malicious SVG files containing embedded JavaScript. The files are stored and served inline, causing the embedded script to execute in the browser session of any user who opens them. This creates a stored Cross-Site Scripting (XSS) condition [CWE-79] that can compromise administrator accounts.

Critical Impact

Unauthenticated attackers can upload SVG files with embedded JavaScript that executes as any user, including administrators, enabling account takeover and site compromise.

Affected Products

  • Product Addons and Product Options With Custom Fields WordPress plugin versions before 1.6.15
  • WordPress sites with the vulnerable plugin installed and activated
  • WooCommerce stores using the plugin for custom product fields

Discovery Timeline

  • 2026-07-22 - CVE-2026-12968 published to the National Vulnerability Database (NVD)
  • 2026-07-22 - Last updated in NVD database

Technical Details for CVE-2026-12968

Vulnerability Analysis

The vulnerability is a stored Cross-Site Scripting (XSS) issue rooted in unrestricted file upload. The plugin exposes a file-upload endpoint reachable without authentication. The endpoint does not enforce authentication, capability checks, or MIME type restrictions that would block SVG files containing script content.

SVG is an Extensible Markup Language (XML) based image format that natively supports <script> tags and JavaScript event handlers. When the plugin serves an uploaded SVG inline with a content type such as image/svg+xml, the browser parses and executes any embedded script in the origin of the WordPress site.

User interaction is required. An administrator or other privileged user must open the URL of the malicious SVG. Once opened, the script runs in that user's session, allowing session token theft, forced administrative actions, or persistent backdoor installation.

Root Cause

The root cause is missing input validation and access control on the upload handler. The plugin fails to restrict who can call the upload endpoint and does not sanitize SVG content or reject SVG uploads. Serving SVG files inline instead of forcing download or sanitizing markup completes the exploitation chain.

Attack Vector

An unauthenticated attacker sends an HTTP POST request to the vulnerable upload endpoint with a crafted SVG payload. The attacker then distributes the resulting file URL through phishing, comments, or direct links. When an administrator loads the URL, embedded JavaScript executes in the WordPress admin context. The attacker can then create administrative users, install plugins, or exfiltrate data. See the WPScan Vulnerability Report for technical details.

Detection Methods for CVE-2026-12968

Indicators of Compromise

  • SVG files present in the WordPress wp-content/uploads/ directory containing <script>, onload=, or javascript: strings
  • Unauthenticated POST requests to plugin upload endpoints in web server access logs
  • Unexpected administrative user creation or plugin installation events in WordPress activity logs
  • Outbound requests from admin browser sessions to attacker-controlled domains after opening an SVG asset

Detection Strategies

  • Scan the uploads directory for SVG files and inspect their XML content for script tags or event handler attributes
  • Review web server logs for POST requests to plugin endpoints originating from unauthenticated sessions
  • Correlate SVG file access events with subsequent privileged actions in WordPress audit logs
  • Deploy Web Application Firewall (WAF) rules that block SVG uploads or strip active content from XML payloads

Monitoring Recommendations

  • Enable WordPress security logging to track file uploads, user creation, and role changes
  • Alert on any new SVG file written to upload directories, especially from unauthenticated requests
  • Monitor for anomalous administrator session activity following image file access
  • Track plugin version inventory across managed WordPress sites to identify vulnerable installations

How to Mitigate CVE-2026-12968

Immediate Actions Required

  • Update the Product Addons and Product Options With Custom Fields plugin to version 1.6.15 or later immediately
  • Audit the wp-content/uploads/ directory for suspicious SVG files and remove any that contain script content
  • Review WordPress user accounts and remove unrecognized administrator accounts created recently
  • Rotate administrator credentials and invalidate active sessions after patching

Patch Information

The vendor addressed the vulnerability in version 1.6.15 of the plugin. The fix restricts the upload endpoint and prevents unauthenticated SVG uploads. Site administrators should apply the update through the WordPress plugin management interface. Refer to the WPScan Vulnerability Report for advisory details.

Workarounds

  • Deactivate the plugin until the patched version can be installed
  • Configure the web server to serve SVG files with Content-Disposition: attachment to prevent inline execution
  • Deploy a WAF rule that blocks SVG uploads or rejects XML payloads containing <script> elements
  • Restrict access to the plugin upload endpoint using server-level authentication or IP allowlisting
bash
# Example Apache configuration to force SVG downloads instead of inline rendering
<FilesMatch "\.svg$">
    Header set Content-Disposition "attachment"
    Header set Content-Security-Policy "script-src 'none'"
</FilesMatch>

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.