Description
The Ultimate FAQ Accordion plugin for WordPress is vulnerable to Stored Cross-Site Scripting via FAQ content in all versions up to, and including, 2.4.7. This is due to the plugin calling html_entity_decode() on post_content during rendering in the set_display_variables() function (View.FAQ.class.php, line 746), which converts HTML entity-encoded payloads back into executable HTML, combined with insufficient output escaping in the faq-answer.php template where the decoded content is echoed without wp_kses_post() or any other sanitization. The ufaq custom post type is registered with 'show_in_rest' => true and defaults to 'post' capability_type, allowing Author-level users to create and publish FAQs via the REST API. An Author can submit entity-encoded malicious HTML (e.g., <img src=x onerror=alert()>) which bypasses WordPress's kses sanitization at save time (since kses sees entities as plain text, not tags), but is then decoded back into executable HTML by html_entity_decode() at render time. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in FAQ pages that will execute whenever a user accesses an injected FAQ, either directly or via the [ultimate-faqs] shortcode.
Published: 2026-04-09
Score: 6.4 Medium
EPSS: n/a
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Patch
AI Analysis

Impact

An authenticated attacker with Author or higher role can embed arbitrary JavaScript into FAQ content by submitting entity‑encoded payloads such as <img src=x onerror=alert()> . When the content is displayed, the plugin decodes the entities back into executable HTML while failing to apply proper output escaping, allowing the script to run in every visitor’s browser. This can lead to defacement, credential theft, session hijacking, or other malicious actions.

Affected Systems

The vulnerability affects installations of the Ultimate FAQ Accordion Plugin from versions 2.4.7 and earlier, deployed on WordPress sites. The plugin registers a custom post type with REST API support and uses the default ‘post’ capability type, enabling Author users to create and publish FAQ posts.

Risk and Exploitability

The CVSS score of 6.4 indicates a moderate severity; the EPSS score is not available and the issue is not listed in the CISA KEV catalog. Exploitation requires only author‑level credentials, a common level of access in content‑management workflows, suggesting that once an author account is compromised or misused, the attack can be carried out during normal FAQ creation. The attack vector is likely via the REST API or the post‑editing interface, exploiting the lack of proper sanitization at display time.

Generated by OpenCVE AI on April 9, 2026 at 05:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update to a version newer than 2.4.7.
  • If no update is available, disable or restrict the REST API endpoints for the FAQ custom post type or remove edit permissions from Author users.
  • Audit existing FAQ posts and remove any that contain malicious or suspicious HTML.
  • Deploy a web application firewall or security plugin that blocks inline script execution on FAQ pages.
  • Monitor site activity for unexpected script execution and review user permissions regularly.

Generated by OpenCVE AI on April 9, 2026 at 05:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 09 Apr 2026 08:30:00 +0000

Type Values Removed Values Added
First Time appeared Rustaurius
Rustaurius ultimate Faq Accordion Plugin
Wordpress
Wordpress wordpress
Vendors & Products Rustaurius
Rustaurius ultimate Faq Accordion Plugin
Wordpress
Wordpress wordpress

Thu, 09 Apr 2026 04:30:00 +0000

Type Values Removed Values Added
Description The Ultimate FAQ Accordion plugin for WordPress is vulnerable to Stored Cross-Site Scripting via FAQ content in all versions up to, and including, 2.4.7. This is due to the plugin calling html_entity_decode() on post_content during rendering in the set_display_variables() function (View.FAQ.class.php, line 746), which converts HTML entity-encoded payloads back into executable HTML, combined with insufficient output escaping in the faq-answer.php template where the decoded content is echoed without wp_kses_post() or any other sanitization. The ufaq custom post type is registered with 'show_in_rest' => true and defaults to 'post' capability_type, allowing Author-level users to create and publish FAQs via the REST API. An Author can submit entity-encoded malicious HTML (e.g., <img src=x onerror=alert()>) which bypasses WordPress's kses sanitization at save time (since kses sees entities as plain text, not tags), but is then decoded back into executable HTML by html_entity_decode() at render time. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in FAQ pages that will execute whenever a user accesses an injected FAQ, either directly or via the [ultimate-faqs] shortcode.
Title Ultimate FAQ Accordion Plugin <= 2.4.7 - Authenticated (Author+) Stored Cross-Site Scripting via FAQ Content
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Rustaurius Ultimate Faq Accordion Plugin
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-04-09T03:25:57.761Z

Reserved: 2026-03-17T14:20:31.307Z

Link: CVE-2026-4336

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-04-09T05:16:04.910

Modified: 2026-04-09T05:16:04.910

Link: CVE-2026-4336

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-09T08:25:04Z

Weaknesses