Register for the AI for Security Summit: Join Figma, Perplexity & Wiz

CVE-2026-87915
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-87915 is a Stored Cross-Site Scripting (XSS) vulnerability in the "Popup Maker – Boost Sales, Conversions, Optins, Subscribers with the Ultimate WP Popup Builder" plugin for WordPress. It affects all versions up to and including 1.24.0, and can be exploited by unauthenticated attackers to inject arbitrary web scripts into pages. The vulnerability stems from insufficient input sanitization and output escaping of the values[Name] parameter. It carries a CVSS v3.1 base score of 7.2 (High) (Feedly).

Technical details

The root cause is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation – Cross-Site Scripting). The wp_kses sanitization applied on output is insufficient because HTML entities within allowed attribute values survive normalization intact and are subsequently evaluated by the jQuery(link.attr('href')) sink in wp-admin/js/common.js when a contextual help tab anchor is clicked. This creates a DOM-based execution path for attacker-supplied payloads injected via the values[Name] parameter, requiring no authentication or user privileges to plant the malicious script (Feedly).

Impact

Successful exploitation allows unauthenticated attackers to persistently store malicious JavaScript in WordPress pages, which executes in the context of any user — including administrators — who visits the affected page. This can lead to session hijacking, credential theft, unauthorized administrative actions, defacement, or redirection to malicious sites. Because the scope is changed (S:C in CVSS), the injected script can affect resources beyond the vulnerable plugin itself, including the broader WordPress admin environment (Feedly).

Exploitability

As of the disclosure date (September 18, 2026), no public proof-of-concept exploit code or in-the-wild exploitation has been reported. The CVE status is listed as "Received" with no CISA KEV catalog entry or known threat actor attribution. The attack requires no authentication and low complexity, making it straightforward to exploit once a method is known (Feedly).

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running the Popup Maker plugin version ≤ 1.24.0 using tools like WPScan, Shodan, or by inspecting plugin metadata in publicly accessible readme.txt files.
  2. Craft malicious payload: Prepare a stored XSS payload targeting the values[Name] parameter. Because wp_kses is bypassed via HTML entity encoding within allowed attribute values, craft a payload such as javascript:alert(document.cookie) or a more sophisticated payload that survives wp_kses normalization.
  3. Submit payload: Submit the crafted payload through the plugin's unauthenticated input surface (e.g., a popup form or configuration endpoint) that processes the values[Name] parameter, storing the malicious value in the WordPress database.
  4. Trigger execution: Wait for an administrator or privileged user to visit a page containing the injected popup or click a contextual help tab anchor in wp-admin, causing jQuery(link.attr('href')) in wp-admin/js/common.js to evaluate the stored payload.
  5. Achieve objective: The executed script can exfiltrate session cookies, perform actions on behalf of the victim (e.g., create rogue admin accounts), or redirect users to attacker-controlled infrastructure (Feedly).

Indicators of compromise

  • Logs: WordPress access logs showing unauthenticated POST requests to popup-related endpoints with encoded or suspicious values in the values[Name] parameter; repeated requests from a single IP to popup submission endpoints.
  • Database: Unexpected JavaScript or HTML entity-encoded script content (e.g., javascript:, javascript:) stored in popup configuration fields within the wp_pum_popups or related plugin database tables.
  • Network: Outbound requests from admin browsers to unknown external domains shortly after admin page loads, potentially indicating cookie exfiltration or beacon callbacks.
  • File System: No direct file system artifacts expected for stored XSS, but monitor for new or modified WordPress admin user accounts created without authorization as a secondary indicator of successful exploitation (Feedly).

Mitigation and workarounds

Users should update the Popup Maker plugin to a version beyond 1.24.0 as soon as a patched release is made available by the vendor (danieliser/code-atlantic). In the interim, site administrators should consider disabling the plugin or restricting access to popup configuration endpoints via WAF rules that block encoded JavaScript patterns in input parameters. Implementing a Web Application Firewall (WAF) rule to detect and block XSS payloads targeting the values[Name] parameter is a recommended short-term workaround (Feedly).

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-93031HIGH8.8
  • use-your-drive
NoYesSep 18, 2026
CVE-2026-87915HIGH7.2
  • popup-maker
NoYesSep 18, 2026
CVE-2026-18405HIGH7.2
  • jeg-elementor-kit
NoYesSep 18, 2026
CVE-2026-15797MEDIUM6.4
  • popup-maker
NoYesSep 18, 2026
CVE-2026-90884MEDIUM5.4
  • wp-recipe-maker
NoYesSep 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management