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

CVE-2026-4336
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-4336 is a Stored Cross-Site Scripting (XSS) vulnerability in the Ultimate FAQ Accordion plugin for WordPress, affecting all versions up to and including 2.4.7. The flaw allows authenticated attackers with Author-level access or above to inject persistent malicious scripts into FAQ pages via entity-encoded HTML payloads submitted through the REST API. It was published on April 9, 2026, with a patch made available the same day. The vulnerability carries a CVSS v3.1 base score of 6.4 (Medium) (GitHub Advisory, Wordfence).

Technical details

The root cause is a two-stage sanitization bypass classified as CWE-79 (Improper Neutralization of Input During Web Page Generation). In View.FAQ.class.php at line 746, the set_display_variables() function calls html_entity_decode() on post_content during rendering, converting HTML entity-encoded payloads (e.g., <img src=x onerror=alert()>) back into executable HTML. WordPress's built-in kses sanitization is bypassed at save time because it treats HTML entities as plain text rather than markup; however, the decoded output is then echoed in faq-answer.php without wp_kses_post() or any other escaping. The ufaq custom post type is registered with 'show_in_rest' => true and defaults to 'post' capability type, enabling Author-level users to create and publish FAQs directly via the REST API, providing the attack surface (GitHub Advisory, Wordfence).

Impact

Successful exploitation allows authenticated attackers with Author-level privileges to persistently inject arbitrary JavaScript into FAQ pages, which executes in the browsers of any user who views the affected FAQ content — either directly or via the [ultimate-faqs] shortcode. Potential consequences include session hijacking, credential theft, malware distribution to site visitors, and site defacement. The scope change in the CVSS score reflects that the injected scripts affect users beyond the attacker's own session, impacting all visitors to the compromised WordPress site (GitHub Advisory, Wordfence).

Exploitability

There is no evidence of a public proof-of-concept exploit or active in-the-wild exploitation at this time. No threat actor attribution has been reported, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.042–0.055%, placing it in the lower percentiles for near-term exploitation likelihood (GitHub Advisory, Wordfence).

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running the Ultimate FAQ Accordion plugin version 2.4.7 or earlier. This can be done by checking the plugin's readme.txt file (e.g., https://target.com/wp-content/plugins/ultimate-faqs/readme.txt) or using tools like WPScan.
  2. Obtain Author-level credentials: Acquire valid WordPress credentials for an account with at least Author-level privileges (e.g., through phishing, credential stuffing, or a pre-existing account).
  3. Authenticate to the REST API: Obtain a valid authentication token or use application passwords to authenticate to the WordPress REST API.
  4. Craft the malicious payload: Prepare an entity-encoded XSS payload for the FAQ content field, such as <img src=x onerror=alert(document.cookie)>. The HTML entity encoding ensures WordPress's kses sanitization passes the content as plain text at save time.
  5. Submit the FAQ via REST API: Send a POST request to the WordPress REST API endpoint for the ufaq custom post type (e.g., POST /wp-json/wp/v2/ufaq) with the entity-encoded payload in the content field and set status to publish.
  6. Trigger execution: When any site visitor navigates to the injected FAQ page or a page containing the [ultimate-faqs] shortcode, the html_entity_decode() call in set_display_variables() converts the entities back to executable HTML, and the script executes in the victim's browser without any output escaping (GitHub Advisory, Wordfence).

Indicators of compromise

  • Network: Unusual REST API POST requests to /wp-json/wp/v2/ufaq from Author-level accounts, especially containing HTML entity-encoded strings (e.g., <, >, onerror, onload) in the content body.
  • Logs: WordPress access logs showing REST API calls to the ufaq endpoint with suspicious payloads; PHP error logs referencing View.FAQ.class.php or faq-answer.php in unexpected contexts.
  • File System / Database: FAQ post content in the WordPress database (wp_posts table, post_type = 'ufaq') containing HTML entity-encoded script tags or event handlers (e.g., <script>, onerror=, onload=).
  • Browser-Side: Unexpected JavaScript execution or alert dialogs when visiting FAQ pages; outbound requests from victim browsers to attacker-controlled domains originating from FAQ page visits.

Mitigation and workarounds

Users should update the Ultimate FAQ Accordion plugin to a version newer than 2.4.7 immediately, as a patch was released on April 9, 2026 (GitHub Advisory). As interim measures, restrict Author-level WordPress roles to fully trusted users only, and review existing FAQ content in the database for entity-encoded HTML payloads. Consider disabling REST API access for the ufaq custom post type if not operationally required, and deploy Web Application Firewall (WAF) rules to detect stored XSS attempts targeting FAQ content (Wordfence).

Community reactions

Wordfence included CVE-2026-4336 in their weekly WordPress vulnerability report covering April 6–12, 2026, flagging it as part of routine plugin security monitoring (Wordfence Blog). No significant broader media coverage or notable researcher commentary beyond standard vulnerability disclosure channels has been identified for this CVE.

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-88788MEDIUM6.8
  • text-styler
NoNoSep 19, 2026
CVE-2026-9858MEDIUM4.3
  • wc-partial-shipment
NoYesSep 19, 2026
CVE-2026-9766MEDIUM4.3
  • empik-for-woocommerce
NoYesSep 19, 2026
CVE-2026-9613MEDIUM4.3
  • datalogics
NoYesSep 19, 2026
CVE-2026-87848LOW3.7
  • mpcx-lightbox
NoNoSep 19, 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