CVE-2026-75980
Received Received - Intake

Stored XSS in BetterDocs WordPress Plugin via Heading ID Attribute

Vulnerability report for CVE-2026-75980, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-01

Last updated on: 2026-09-01

Assigner: Wordfence

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-01
Last Modified
2026-09-01
Generated
2026-09-01
AI Q&A
2026-09-01
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
betterdocs betterdocs to 4.8.1 (inc)
wpbeaverbuilder betterdocs to 4.8.1 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a Stored Cross-Site Scripting (XSS) flaw in the BetterDocs WordPress plugin. It allows authenticated attackers with contributor-level access or higher to inject malicious scripts into web pages via the 'id' attribute of a heading. The issue arises from insufficient input sanitization and improper output escaping, enabling the scripts to execute when users view the affected pages.

Detection Guidance

This vulnerability requires checking WordPress sites using the BetterDocs plugin up to version 4.8.1. Inspect plugin versions and review post content for malicious heading id attributes. No direct network commands detect this; manual code review or plugin version checks are needed.

Impact Analysis

An attacker could steal user sessions, redirect visitors to malicious sites, or perform actions on behalf of users. Since the exploit persists in stored content, the risk remains until the plugin is updated or the injected scripts are manually removed. Users with contributor access or higher are the primary risk group.

Compliance Impact

This vulnerability could lead to unauthorized data access or modification, violating GDPR's integrity and confidentiality principles or HIPAA's safeguards for protected health information. Organizations using this plugin may face compliance violations if user data is compromised through the exploit.

Mitigation Strategies

Update the BetterDocs plugin to the latest version beyond 4.8.1. Remove untrusted user access levels like contributor if not required. Sanitize input and escape output in post content. Monitor for unusual script injections in pages.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-75980. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart