{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-89093","assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","state":"PUBLISHED","assignerShortName":"Wordfence","dateReserved":"2026-09-10T20:32:26.852Z","datePublished":"2026-09-19T02:27:11.997Z","dateUpdated":"2026-09-19T14:01:26.022Z"},"containers":{"cna":{"providerMetadata":{"orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence","dateUpdated":"2026-09-19T02:27:11.997Z"},"affected":[{"vendor":"wordplus","product":"Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.15.33","versionType":"semver"}],"defaultStatus":"unaffected"}],"descriptions":[{"lang":"en","value":"The Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots plugin for WordPress is vulnerable to Information Exposure by Spoofing in all versions up to, and including, 2.15.33. This is due to the `is_ai_bot_user()` function identifying privileged internal AI bot accounts by performing a prefix check for `'ai-chat-bot-'` against a guest record's stored IP address, which is populated verbatim from the client-controlled `X-Real-IP` request header during unauthenticated guest registration. This makes it possible for unauthenticated attackers to register a guest identity that the plugin treats as its own internal AI bot, bypassing the per-room role allowlist, draft-status check, and join filters — which are all short-circuited by the bot check in `user_can_join()` and `user_can_read()` — to join administrator-restricted chat rooms, post messages into them, and read the private message history of other users."}],"title":"Better Messages <= 2.15.33 - Unauthenticated Information Exposure Spoofing via 'X-Real-IP' Header via /guests/register","references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/df28ecd7-d463-48b7-95e6-8adc9f34d6bd?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/2.15.33/inc/functions.php#L4155"},{"url":"https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/2.15.33/inc/chats.php#L2145"},{"url":"https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/2.15.33/inc/chats.php#L2168"},{"url":"https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/2.15.33/inc/chats.php#L2196"},{"url":"https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/2.15.33/inc/guests.php#L577"},{"url":"https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/2.15.33/inc/guests.php#L467"},{"url":"https://plugins.trac.wordpress.org/browser/bp-better-messages/tags/2.15.33/inc/guests.php#L311"},{"url":"https://plugins.trac.wordpress.org/changeset?old_path=bp-better-messages%2Ftags%2F2.15.33%2Finc%2Ffunctions.php&new_path=bp-better-messages%2Ftags%2F3.0.0%2Finc%2Ffunctions.php"}],"problemTypes":[{"descriptions":[{"lang":"en","description":"CWE-287 Improper Authentication","cweId":"CWE-287","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","baseScore":5.3,"baseSeverity":"MEDIUM"}}],"credits":[{"lang":"en","type":"finder","value":"Jonah Burgess (CryptoCat)"}],"timeline":[{"time":"2026-09-10T20:48:32.000Z","lang":"en","value":"Vendor Notified"},{"time":"2026-09-18T13:53:09.000Z","lang":"en","value":"Disclosed"}]},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-89093","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-19T13:21:08.846737Z"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-19T14:01:26.022Z"}}]}}