CVE-2026-94376
Received Received - Intake

Stored DOM-Based XSS in Better Messages WordPress Plugin

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

Publication date: 2026-09-25

Last updated on: 2026-09-25

Assigner: Wordfence

Description

The Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via User Display Name in all versions up to, and including, 3.0.4 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is exploitable by Subscriber-level users because WordPress core's sanitize_text_field() preserves HTML-entity-encoded payloads (e.g., an iframe srcdoc attribute), allowing the encoded string to be stored as a display name without requiring the unfiltered_html capability, and the plugin subsequently decodes it server-side before rendering.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

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

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
better_messages better_messages to 3.0.4 (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 DOM-Based Cross-Site Scripting (XSS) flaw in the Better Messages WordPress plugin. It allows authenticated attackers with subscriber-level access or higher to inject malicious scripts via the User Display Name field. The issue occurs because the plugin fails to properly sanitize input and escape output, allowing HTML-entity-encoded payloads to be stored and later decoded to execute arbitrary scripts when users access affected pages.

The vulnerability is exploitable due to WordPress core's sanitize_text_field() function preserving HTML-entity-encoded payloads, which the plugin then decodes server-side before rendering, enabling script execution without requiring the unfiltered_html capability.

Impact Analysis

If you use the Better Messages plugin on your WordPress site, an attacker with subscriber-level access could inject malicious scripts into your site. These scripts could steal user session cookies, redirect users to phishing pages, or perform actions on behalf of users without their consent. Visitors to your site could have their data compromised or be exposed to further attacks.

Compliance Impact

This vulnerability could lead to non-compliance with GDPR and HIPAA by exposing user data to unauthorized parties. GDPR requires protecting user data and reporting breaches within 72 hours. HIPAA mandates safeguarding protected health information. A successful XSS attack could result in data breaches, leading to legal penalties, fines, and reputational damage for organizations handling sensitive data.

Mitigation Strategies

Update the Better Messages plugin to the latest version beyond 3.0.4. Remove or restrict subscriber-level access if not required. Monitor for suspicious user display names containing HTML or script tags. Consider disabling the plugin temporarily if an update is unavailable.

Chat Assistant

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

EPSS Chart