CVE-2026-87916: WPBot: missing auth check leaks chat visitor PII
MEDIUM PoC AVAILABLEWPBot, a WordPress AI chatbot plugin, ships an AJAX endpoint that lists stored chat sessions without any capability or nonce check, so anyone on the internet can call it directly and pull the name, email address and phone number of every visitor who ever chatted with the widget by simply widening the date range parameter. There's no CVSS score or EPSS data published yet and it isn't in CISA KEV, but the barrier to exploitation is effectively zero — no authentication, no special tooling, just a crafted HTTP request against a public endpoint, which is why this class of bug tends to get mass-scanned quickly once details circulate (the WPScan advisory already flags it as an exploit-class entry). Any organization running WPBot on a public-facing site is exposing a live database of prospect and customer contact details, which is a direct GDPR/privacy incident, not just a technical vulnerability. Upgrade WPBot to 8.6.0 or later immediately; if patching isn't immediately possible, disable or firewall the affected AJAX action (block unauthenticated `admin-ajax.php` calls to the chat-session-listing action at the WAF/reverse-proxy layer) and audit access logs for wide-date-range requests to that endpoint as an indicator of prior exploitation.
What is the risk?
High confidence, low-effort exploit against a widely deployed WordPress plugin category (AI chat widgets), but the CVE lacks a published CVSS/EPSS score and isn't flagged as actively exploited or in CISA KEV, so severity must be assessed qualitatively rather than from feed data. The vulnerability requires no privileges, no user interaction, and no AI/ML expertise — it's a textbook broken access control flaw (missing capability/nonce check) that happens to sit on top of an AI-powered feature. Given the plugin has 13 other recorded CVEs, it carries a pattern of recurring access-control weaknesses, which should raise the baseline risk assigned to it in any vendor/plugin risk register.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| WPBot | pip | — | No patch |
Do you use WPBot? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step-
1) Update WPBot to version 8.6.0 or later, which adds the missing capability/nonce checks on the session-listing AJAX action. 2) If immediate patching isn't feasible, block or rate-limit unauthenticated requests to the vulnerable
admin-ajax.phpaction at the WAF/CDN layer. 3) Review server/access logs for anomalous requests to the chat-session listing endpoint with unusually wide date ranges, which would indicate the flaw was already probed or exploited. 4) Treat any stored chat visitor PII as potentially exposed — assess breach notification obligations under GDPR/CCPA if the site has been live and unpatched. 5) Add WPBot (and chat-widget plugins generally) to the periodic WordPress plugin vulnerability scanning list given its history of 13 prior CVEs.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-87916?
WPBot, a WordPress AI chatbot plugin, ships an AJAX endpoint that lists stored chat sessions without any capability or nonce check, so anyone on the internet can call it directly and pull the name, email address and phone number of every visitor who ever chatted with the widget by simply widening the date range parameter. There's no CVSS score or EPSS data published yet and it isn't in CISA KEV, but the barrier to exploitation is effectively zero — no authentication, no special tooling, just a crafted HTTP request against a public endpoint, which is why this class of bug tends to get mass-scanned quickly once details circulate (the WPScan advisory already flags it as an exploit-class entry). Any organization running WPBot on a public-facing site is exposing a live database of prospect and customer contact details, which is a direct GDPR/privacy incident, not just a technical vulnerability. Upgrade WPBot to 8.6.0 or later immediately; if patching isn't immediately possible, disable or firewall the affected AJAX action (block unauthenticated `admin-ajax.php` calls to the chat-session-listing action at the WAF/reverse-proxy layer) and audit access logs for wide-date-range requests to that endpoint as an indicator of prior exploitation.
Is CVE-2026-87916 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-87916, increasing the risk of exploitation.
How to fix CVE-2026-87916?
1) Update WPBot to version 8.6.0 or later, which adds the missing capability/nonce checks on the session-listing AJAX action. 2) If immediate patching isn't feasible, block or rate-limit unauthenticated requests to the vulnerable `admin-ajax.php` action at the WAF/CDN layer. 3) Review server/access logs for anomalous requests to the chat-session listing endpoint with unusually wide date ranges, which would indicate the flaw was already probed or exploited. 4) Treat any stored chat visitor PII as potentially exposed — assess breach notification obligations under GDPR/CCPA if the site has been live and unpatched. 5) Add WPBot (and chat-widget plugins generally) to the periodic WordPress plugin vulnerability scanning list given its history of 13 prior CVEs.
What systems are affected by CVE-2026-87916?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, customer-facing chat/support widgets.
What is the CVSS score for CVE-2026-87916?
CVE-2026-87916 has a CVSS v3.1 base score of 5.3 (MEDIUM). The EPSS exploitation probability is 0.21%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0036 Data from Information Repositories AML.T0047 AI-Enabled Product or Service Compliance Controls Affected
What are the technical details?
Original Advisory
The WPBot WordPress plugin before 8.6.0 does not perform any capability or nonce check on the AJAX action that lists stored chat sessions, allowing unauthenticated attackers to retrieve the name, email address and phone number of every chat visitor by requesting a wide date range.
Exploitation Scenario
An unauthenticated attacker identifies a WordPress site running WPBot (e.g., via plugin fingerprinting or Wappalyzer-style detection), then sends a direct request to the plugin's AJAX endpoint requesting the chat-session-listing action with a wide date range (e.g., the last several years) and no authentication cookie or nonce. Because the handler never verifies the caller's capability or a valid nonce, the server returns the full list of stored chat sessions, including each visitor's name, email address and phone number. The attacker can script this against a list of WordPress sites known to run WPBot to harvest PII at scale for phishing, spam, or resale, with no login credentials or interaction with the underlying AI/chatbot model required.
Weaknesses (CWE)
CWE-200 — Exposure of Sensitive Information to an Unauthorized Actor: The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
- [Architecture and Design] Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N References
- wpscan.com/vulnerability/31d65e66-10b1-467a-8b20-ecf4880359e0/ exploit vdb-entry technical-description
Timeline
Related Vulnerabilities
CVE-2025-60223 7.7 WPBot Pro: subscriber file deletion → system DoS
Same package: wpbot CVE-2024-0452 7.7 WordPress AI ChatBot: auth bypass enables OpenAI file upload
Same package: wpbot CVE-2024-0453 7.7 WordPress ChatBot: missing authz deletes OpenAI files
Same package: wpbot CVE-2026-13731 7.2 WPBot: unauthenticated stored XSS via chatbot conversation field
Same package: wpbot CVE-2026-83593 7.2 WPBot: unauth stored XSS in chatbot conversation field
Same package: wpbot