What the vulnerability does
01Description
The BetterDocs – AI Documentation, Knowledge Base, Docs, Wikis, FAQ with Chatbot plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Heading 'id' Attribute in Post Content in all versions up to, and including, 4.8.1 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The exploit survives wp_kses_post because entity-encoded quotes in a heading id attribute are treated as a single legitimate attribute value at save time; the dangerous payload only materialises after process_content_for_toc() calls html_entity_decode() on the stored content and the broken id is extracted by a lazy regex before being echoed unescaped into the Table of Contents output.
Explanation of Vulnerability in Simple Terms
02Summary
BetterDocs versions up to 4.8.1 contain a cross-site scripting vulnerability that allows authenticated users to inject malicious scripts affecting other users and site functionality. The vulnerability has a changed scope, meaning the impact extends beyond the vulnerable component itself. An attacker with low-level access can craft payloads that execute in other users' browsers, potentially compromising site integrity and confidentiality.
What an attacker can do
03Attacker Capabilities
Inject malicious scripts that execute in other users' browsers and affect site functionality.
Potential impact on your site
04Site Impact
Authenticated users can inject scripts affecting other visitors and site behavior; update BetterDocs immediately.
Conditions required to exploit
05Prerequisites
Attacker must have a low-privilege account on the site; no user interaction required.
Key dates
06Disclosure timeline
September 1, 2026
CVE published