Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-32167

CVE-2025-32167: SurveyJS Stored XSS Vulnerability

CVE-2025-32167 is a stored cross-site scripting flaw in SurveyJS that enables attackers to inject malicious scripts into web pages. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2025-32167 Overview

CVE-2025-32167 is a stored Cross-Site Scripting (XSS) vulnerability in the devsoftbaltic SurveyJS plugin for WordPress. The flaw affects all versions of SurveyJS from initial release through 1.12.20. Attackers with low-privileged authenticated access can inject persistent JavaScript payloads that execute in the context of other users' browsers when they view affected survey content.

The vulnerability is classified under CWE-79: Improper Neutralization of Input During Web Page Generation. It carries a scope-changed impact, meaning injected scripts can affect resources beyond the vulnerable component itself.

Critical Impact

Authenticated attackers can store malicious JavaScript that executes in victim browsers, enabling session theft, credential harvesting, and administrative account takeover through the WordPress admin interface.

Affected Products

  • devsoftbaltic SurveyJS WordPress plugin versions up to and including 1.12.20
  • WordPress sites with the SurveyJS plugin installed and active
  • All SurveyJS-embedded survey forms rendering user-supplied content

Discovery Timeline

  • 2025-04-04 - CVE-2025-32167 published to the National Vulnerability Database
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-32167

Vulnerability Analysis

The SurveyJS plugin fails to properly neutralize user-controllable input before embedding it into web pages served to other users. An authenticated attacker with contributor-level or similar privileges can inject arbitrary HTML and JavaScript into survey fields, titles, or configuration parameters processed by the plugin.

Because the payload is stored server-side, it executes automatically whenever a victim, including administrators, renders the affected page. The scope-changed nature of the flaw allows injected scripts to reach browser contexts and resources controlled outside the vulnerable plugin boundary.

Root Cause

The root cause is missing or insufficient output encoding when the plugin renders survey data. User input passes through storage and back into the DOM without HTML entity encoding or contextual sanitization. Any script tags, event handlers, or JavaScript URIs supplied by an attacker are preserved verbatim in the response.

Attack Vector

The attack requires network access to the WordPress site and a low-privileged authenticated account. User interaction is required, typically a victim visiting a page that renders the tainted survey content. Successful exploitation delivers stored payloads that persist across sessions until the malicious data is removed.

Refer to the Patchstack XSS Vulnerability Report for additional technical detail.

Detection Methods for CVE-2025-32167

Indicators of Compromise

  • Unexpected <script> tags, onerror, onload, or javascript: handlers stored in SurveyJS-related WordPress database tables
  • Outbound browser requests from admin sessions to unfamiliar domains after viewing surveys
  • New administrator accounts or modified user roles following an authenticated user visiting a survey page
  • Anomalous cookie exfiltration patterns or session token reuse from unexpected IP addresses

Detection Strategies

  • Query the WordPress wp_posts and plugin-specific tables for stored HTML markup containing script tags or JavaScript event handlers within SurveyJS fields
  • Monitor web server logs for POST requests to SurveyJS endpoints containing URL-encoded <script> or %3Cscript%3E patterns
  • Deploy Content Security Policy (CSP) reporting to capture inline script violations originating from survey pages

Monitoring Recommendations

  • Enable WordPress audit logging to track content edits performed by contributor and editor accounts
  • Alert on privilege changes, plugin installations, or theme modifications following survey rendering events
  • Correlate authentication anomalies with visits to pages hosting SurveyJS embeds

How to Mitigate CVE-2025-32167

Immediate Actions Required

  • Update the SurveyJS plugin to a version later than 1.12.20 once the vendor publishes a fixed release
  • Audit all existing survey content for injected HTML or JavaScript and remove any suspicious entries
  • Restrict contributor and editor account creation and review the current low-privileged user inventory

Patch Information

At the time of NVD publication, the advisory indicates the vulnerability affects SurveyJS through version 1.12.20. Administrators should consult the Patchstack advisory and the vendor's WordPress plugin page for the latest patched release before upgrading.

Workarounds

  • Deactivate the SurveyJS plugin until a patched version is installed if surveys are non-essential
  • Deploy a Web Application Firewall (WAF) rule to block requests containing script tags or JavaScript event handlers targeting SurveyJS endpoints
  • Enforce a strict Content Security Policy that disallows inline scripts on pages rendering user-generated survey content
  • Limit the number of accounts with contribution privileges and require multi-factor authentication for all authenticated users

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.