CVE-2026-6639: AIWU WP Plugin: unauth leak of stored OpenAI keys
HIGHThe AI Chatbot & Workflow Automation (AIWU) plugin for WordPress exposes an AJAX endpoint, getCurrentTaskResults(), with no authentication or authorization check, letting anyone enumerate sequential task IDs and pull back the full task record — including the site owner's OpenAI API key in plaintext, plus the prompts and keyword inputs used to generate content. Any WordPress site running AIWU up to 1.4.6 that has used a bulk-generation feature is effectively broadcasting its LLM credentials to unauthenticated internet scanners; CVSS 7.5 (network, no privileges, no user interaction) reflects a trivial, wormable exploitation path even though EPSS sits low (0.37%, ~70th percentile) and there's no KEV listing or public PoC yet. The real business risk is downstream: a leaked OpenAI key enables usage-based cost harvesting, quota exhaustion, or pivoting into whatever other systems that key touches, and the leaked prompts/keywords can reveal proprietary content strategy or internal workflows. There is no patched version referenced in the plugin's changeset trail available here, so the concrete action is to disable or uninstall AIWU until a fixed release confirms the getNoncedMethods()/getPermissions() gap is closed, rotate any OpenAI API key ever entered into the plugin, and audit outbound OpenAI usage/billing for anomalies as an indicator of prior compromise.
What is the risk?
High-confidence, low-effort exploitation: the vulnerability requires nothing more than an HTTP request to admin-ajax.php with a guessed/enumerated task ID, since the method sits outside getNoncedMethods(), the controller's getPermissions() returns empty, and the AJAX hook is registered nopriv. Attack complexity is low and no user interaction is needed (CVSS AV:N/AC:L/PR:N/UI:N), yielding a confidentiality-only impact (C:H/I:N/A:N). Real-world exploitation likelihood is currently modest — EPSS is 0.37% (top 70th percentile, not top-tier), it's not in CISA KEV, and CISA's SSVC decision is TRACK rather than Act/Attend, with no public exploit or Nuclei template yet. However, the trivial mechanics (sequential ID enumeration, no auth) mean weaponization is straightforward once attackers notice the plugin is popular enough to scan for, and the payoff — live LLM API keys — is high-value for opportunistic credential harvesters.
How does the attack unfold?
How severe is it?
What is the attack surface?
What should I do?
1 step-
Until the vendor ships and confirms a version beyond 1.4.6 that adds getCurrentTaskResults() to getNoncedMethods() or otherwise enforces authorization in getPermissions(), the safest step is to deactivate the AIWU plugin or block unauthenticated access to the relevant admin-ajax.php action at the web server/WAF layer. Immediately rotate any OpenAI API key that was ever configured in AIWU, since it may already be exposed. Review OpenAI billing/usage dashboards for unexpected activity as a compromise indicator. For detection, monitor admin-ajax.php access logs for repeated unauthenticated requests referencing workspace/task actions with sequentially incrementing IDs — a signature of ID-enumeration probing. Longer term, avoid storing API keys in plaintext task-level configuration; prefer WordPress secrets management or environment-level key storage decoupled from per-task records.
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-6639?
The AI Chatbot & Workflow Automation (AIWU) plugin for WordPress exposes an AJAX endpoint, getCurrentTaskResults(), with no authentication or authorization check, letting anyone enumerate sequential task IDs and pull back the full task record — including the site owner's OpenAI API key in plaintext, plus the prompts and keyword inputs used to generate content. Any WordPress site running AIWU up to 1.4.6 that has used a bulk-generation feature is effectively broadcasting its LLM credentials to unauthenticated internet scanners; CVSS 7.5 (network, no privileges, no user interaction) reflects a trivial, wormable exploitation path even though EPSS sits low (0.37%, ~70th percentile) and there's no KEV listing or public PoC yet. The real business risk is downstream: a leaked OpenAI key enables usage-based cost harvesting, quota exhaustion, or pivoting into whatever other systems that key touches, and the leaked prompts/keywords can reveal proprietary content strategy or internal workflows. There is no patched version referenced in the plugin's changeset trail available here, so the concrete action is to disable or uninstall AIWU until a fixed release confirms the getNoncedMethods()/getPermissions() gap is closed, rotate any OpenAI API key ever entered into the plugin, and audit outbound OpenAI usage/billing for anomalies as an indicator of prior compromise.
Is CVE-2026-6639 actively exploited?
No confirmed active exploitation of CVE-2026-6639 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-6639?
Until the vendor ships and confirms a version beyond 1.4.6 that adds getCurrentTaskResults() to getNoncedMethods() or otherwise enforces authorization in getPermissions(), the safest step is to deactivate the AIWU plugin or block unauthenticated access to the relevant admin-ajax.php action at the web server/WAF layer. Immediately rotate any OpenAI API key that was ever configured in AIWU, since it may already be exposed. Review OpenAI billing/usage dashboards for unexpected activity as a compromise indicator. For detection, monitor admin-ajax.php access logs for repeated unauthenticated requests referencing workspace/task actions with sequentially incrementing IDs — a signature of ID-enumeration probing. Longer term, avoid storing API keys in plaintext task-level configuration; prefer WordPress secrets management or environment-level key storage decoupled from per-task records.
What systems are affected by CVE-2026-6639?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, LLM API integrations, CMS/plugin-embedded AI workflows.
What is the CVSS score for CVE-2026-6639?
CVE-2026-6639 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.37%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0036 Data from Information Repositories AML.T0049 Exploit Public-Facing Application AML.T0055 Unsecured Credentials Compliance Controls Affected
What are the technical details?
Original Advisory
The AI Chatbot & Workflow Automation by AIWU plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 1.4.6. This is due to the `getCurrentTaskResults()` method in `modules/workspace/controller.php` being accessible without authentication or authorization checks. The method is not included in the workspace controller's `getNoncedMethods()` array, the base `getPermissions()` returns an empty array, and all AJAX actions are registered with `wp_ajax_nopriv_` hooks (`classes/frame.php:282`). When tasks are created via features like the Bulk Post Generator, the task parameters — including the OpenAI API key in plaintext, AI prompts, keywords, and full AI model configuration — are stored in the database and returned in the JSON response. This makes it possible for unauthenticated attackers to enumerate sequential task IDs and retrieve sensitive configuration data including API keys.
Exploitation Scenario
An attacker identifies a WordPress site running the AIWU plugin (via plugin fingerprinting or a mass scan of the wp-content/plugins/ai-copilot-content-generator path). They send unauthenticated POST requests to admin-ajax.php invoking the getCurrentTaskResults action, incrementing a numeric task ID parameter on each request. For any site that has generated bulk content, one or more responses return the full task JSON, including the site's OpenAI API key, the prompts/keywords used, and model configuration. The attacker then uses the harvested API key directly against OpenAI's API — either to run their own workloads at the victim's expense (cost harvesting) or to exfiltrate further data if the key has broader scope — while the victim organization has no visibility into the theft until anomalous billing or usage appears.
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:N/UI:N/S:U/C:H/I:N/A:N References
- plugins.trac.wordpress.org/browser/ai-copilot-content-generator/tags/1.4.6/classes/frame.php
- plugins.trac.wordpress.org/browser/ai-copilot-content-generator/tags/1.4.6/modules/workspace/controller.php
- plugins.trac.wordpress.org/browser/ai-copilot-content-generator/tags/1.4.6/modules/workspace/models/tasks.php
- plugins.trac.wordpress.org/changeset
- wordpress.org/plugins/ai-copilot-content-generator/
- wordfence.com/threat-intel/vulnerabilities/id/247b1921-70a6-4e65-819a-2895bc395e9f
Timeline
Related Vulnerabilities
CVE-2025-5120 10.0 smolagents: sandbox escape enables unauthenticated RCE
Same attack type: Data Leakage CVE-2025-53767 10.0 Azure OpenAI: SSRF EoP, no auth required (CVSS 10)
Same attack type: Data Extraction CVE-2023-3765 10.0 MLflow: path traversal allows arbitrary file read
Same attack type: Data Leakage CVE-2025-2828 10.0 LangChain RequestsToolkit: SSRF exposes cloud metadata
Same attack type: Data Extraction CVE-2026-21858 10.0 n8n: Input Validation flaw enables exploitation
Same attack type: Data Extraction