CVE-2026-75980
MediumCVSS 6.4Exploitation Probability (EPSS)
Low risk11th percentile - higher than 11% of all known CVEs
Summary
The BetterDocs 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 allows authenticated attackers with contributor-level access and above to inject arbitrary web scripts in pages that execute whenever a user accesses the page.
Risk Assessment
An attacker can inject malicious scripts that execute in visitors' browsers, potentially leading to data theft, session hijacking, or malware distribution.
Recommendation
It is recommended to update the BetterDocs plugin to the latest available version that includes security fixes.
Other vulnerabilities in BetterDocs
See all- CVE-2026-65562Medium
The BetterDocs plugin version 4.6.2 and earlier has a Cross-Site Scripting (XSS) vulnerability for users with the Contributor role. A Contributor can inject malicious JavaScript code.
- CVE-2026-11371Medium
The BetterDocs WordPress plugin before version 4.5.5 does not sanitize an AI-generated documentation summary before storing and outputting it. The feature is exposed to unauthenticated users, allowing them to store a malicious payload via prompt injection that executes in the browser of any visitor, including administrators.
- CVE-2026-15104Medium
The BetterDocs plugin for WordPress up to version 4.6.0 is vulnerable to generic SQL injection via the 'lang' parameter. Authenticated attackers with custom-level access or higher can append additional SQL queries, allowing extraction of sensitive database information. Exploitation requires an active multilingual plugin (WPML, Polylang, qTranslate, Weglot, or TranslatePress).
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

