CVE-2026-15610: WPBot: auth bypass burns AI API credits via RAG
MEDIUMWPBot, a widely installed WordPress AI chatbot plugin, fails to verify that users are authorized before triggering re-embedding of stored RAG documents, so any authenticated subscriber-level account — the lowest privilege tier, often self-registrable — can repeatedly force the plugin to call the site owner's paid OpenAI, Gemini, OpenRouter, or xAI API and modify the rag_documents table. There's no CISA KEV listing, no public exploit or Nuclei template, and no EPSS score yet since this was just published, so this isn't an active-exploitation emergency — but the CVSS 4.3 low bar (AC:L, PR:L, UI:N) means a bot registering a subscriber account could hit this at scale with zero social engineering. The real CISO risk here isn't data breach, it's an unbounded-consumption financial attack: an attacker (or a competitor) can silently run up your LLM API bill. Patch to the fixed WPBot release as soon as it's available, and in the interim disable open self-registration on any WordPress site running this plugin, set hard spend caps/alerts on the OpenAI/Gemini/OpenRouter/xAI keys used by WPBot, and watch for anomalous embedding-endpoint call volume from low-privilege accounts.
What is the risk?
Medium severity is appropriate: exploitability is high (network vector, low complexity, no user interaction, only subscriber-level privilege required — a tier many WordPress sites hand out via open registration), but impact is scoped to integrity (I:L) with no confidentiality or availability CVSS impact. There is no CISA KEV entry, no EPSS percentile yet, and no known public exploit or scanner template, so this is not currently under mass exploitation. The practical risk is financial (cost harvesting / unbounded LLM consumption) rather than data exposure, which caps the blast radius but can still produce real, unbudgeted third-party API charges if left unpatched on a site with open registration.
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-
Update WPBot to the first version beyond 8.5.6 as soon as the vendor patch is confirmed (check the plugin's WordPress.org changelog before assuming a fix is live). Until patched: restrict or disable open user self-registration so untrusted accounts can't reach subscriber-level access; add WAF/rate-limiting rules on the plugin's re-embedding AJAX/REST action; set hard spend alerts/caps on the OpenAI, Gemini, OpenRouter, and xAI API keys used by the site; and audit the rag_documents table plus recent API usage logs for abnormal re-embedding volume from low-privilege or newly created accounts.
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-15610?
WPBot, a widely installed WordPress AI chatbot plugin, fails to verify that users are authorized before triggering re-embedding of stored RAG documents, so any authenticated subscriber-level account — the lowest privilege tier, often self-registrable — can repeatedly force the plugin to call the site owner's paid OpenAI, Gemini, OpenRouter, or xAI API and modify the rag_documents table. There's no CISA KEV listing, no public exploit or Nuclei template, and no EPSS score yet since this was just published, so this isn't an active-exploitation emergency — but the CVSS 4.3 low bar (AC:L, PR:L, UI:N) means a bot registering a subscriber account could hit this at scale with zero social engineering. The real CISO risk here isn't data breach, it's an unbounded-consumption financial attack: an attacker (or a competitor) can silently run up your LLM API bill. Patch to the fixed WPBot release as soon as it's available, and in the interim disable open self-registration on any WordPress site running this plugin, set hard spend caps/alerts on the OpenAI/Gemini/OpenRouter/xAI keys used by WPBot, and watch for anomalous embedding-endpoint call volume from low-privilege accounts.
Is CVE-2026-15610 actively exploited?
No confirmed active exploitation of CVE-2026-15610 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-15610?
Update WPBot to the first version beyond 8.5.6 as soon as the vendor patch is confirmed (check the plugin's WordPress.org changelog before assuming a fix is live). Until patched: restrict or disable open user self-registration so untrusted accounts can't reach subscriber-level access; add WAF/rate-limiting rules on the plugin's re-embedding AJAX/REST action; set hard spend alerts/caps on the OpenAI, Gemini, OpenRouter, and xAI API keys used by the site; and audit the rag_documents table plus recent API usage logs for abnormal re-embedding volume from low-privilege or newly created accounts.
What systems are affected by CVE-2026-15610?
This vulnerability affects the following AI/ML architecture patterns: RAG pipelines, plugin-based AI chatbots, third-party LLM API integrations.
What is the CVSS score for CVE-2026-15610?
CVE-2026-15610 has a CVSS v3.1 base score of 4.3 (MEDIUM). The EPSS exploitation probability is 0.40%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012 Valid Accounts AML.T0034 Cost Harvesting AML.T0034.001 Resource-Intensive Queries AML.T0049 Exploit Public-Facing Application Compliance Controls Affected
What are the technical details?
Original Advisory
The WPBot – AI ChatBot for Live Support, Lead Generation, AI Services plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 8.5.6. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with subscriber-level access and above, to trigger arbitrary re-embedding of stored RAG documents, modifying the rag_documents table and consuming the site owner's paid third-party AI API credits (OpenAI, Gemini, OpenRouter, or xAI).
Exploitation Scenario
An attacker registers a free subscriber-level account on a WordPress site running WPBot (or uses a throwaway account if registration is open), then directly calls the plugin's RAG re-embedding action — which never checks whether the caller is authorized to trigger it — and scripts repeated calls against every stored RAG document. Each call forces the site to make a paid embedding API request to whichever provider (OpenAI/Gemini/OpenRouter/xAI) the owner has configured, running up the bill with no legitimate business purpose, while also repeatedly rewriting the rag_documents table.
Weaknesses (CWE)
CWE-862 — Missing Authorization: The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
- [Architecture and Design] Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) [REF-229] to enforce the roles at the appropriate boundaries. Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.
- [Architecture and Design] Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7].
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N References
- plugins.trac.wordpress.org/browser/chatbot/tags/8.4.9/includes/class-qcld-bot-rag.php
- plugins.trac.wordpress.org/browser/chatbot/tags/8.4.9/includes/class-qcld-bot-rag.php
- plugins.trac.wordpress.org/browser/chatbot/tags/8.4.9/qcld-wpwbot.php
- plugins.trac.wordpress.org/browser/chatbot/tags/8.5.5/includes/class-qcld-bot-rag.php
- plugins.trac.wordpress.org/browser/chatbot/tags/8.5.5/includes/class-qcld-bot-rag.php
- plugins.trac.wordpress.org/browser/chatbot/tags/8.5.5/qcld-wpwbot.php
- plugins.trac.wordpress.org/changeset
- wordfence.com/threat-intel/vulnerabilities/id/e905d146-66bf-4d6d-b2f5-fd3f862101af
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