---
id: CVE-2026-94376
title: >-
  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
  insufficie…
summary: >-
  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
  insufficie…
severity: medium
cvss: 6.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'
cwe:
  - CWE-79
vendor: wordplus
product: 'Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots'
affected:
  - better_messages_chat_rooms_group_chat_private_messages_ai_chat_bots <= 3.0.4
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T14:17:24.803'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-94376'
references:
  - url: >-
      https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/3.0.3/inc/functions.php#L1117
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/3.0.3/inc/functions.php#L2276
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/changeset?old_path=bp-better-messages%2Ftags%2F3.0.3%2Faddons%2Fbuddyboss.php&new_path=bp-better-messages%2Ftags%2F3.0.5%2Faddons%2Fbuddyboss.php
    label: security@wordfence.com
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/f4f5a268-7e7f-4dbe-823a-a17ac0f52928?source=cve
    label: security@wordfence.com
tags:
  - nvd
  - cve.org
epss: 0.00193
epssPercentile: 0.07993
ingestedAt: '2026-09-25T07:01:12.108Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
