Executive brief
The Better Messages plugin for WordPress fails to properly validate internal bot identities, allowing unauthenticated attackers to impersonate an AI bot account by controlling an HTTP header. An attacker can use this to bypass access controls and join administrator-only chat rooms, post messages, and read other users' private messages.
Technical details
The plugin's `is_ai_bot_user()` function identifies AI bot accounts by prefix-checking the string 'ai-chat-bot-' against a guest record's IP address, which is populated directly from the client-controlled X-Real-IP header during unauthenticated registration. An attacker can set this header to a value beginning with 'ai-chat-bot-' to spoof a bot identity and short-circuit access control checks in `user_can_join()` and `user_can_read()`, bypassing role allowlists, draft-status filters, and join restrictions.
Affected products
- WordPress Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots up to and including 2.15.33
Timeline
- 2026-09-19: disclosed