Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Lifecycle Timeline
4DescriptionCVE.org
The BetterDocs plugin for WordPress is vulnerable to Missing Authorization in versions up to and including 4.3.11. This is due to a missing capability check in the generate_openai_content_callback() function, which relies solely on a nonce rather than verifying user permissions. This makes it possible for authenticated attackers, with subscriber-level access and above, to trigger OpenAI API calls using the site's configured API key with arbitrary user-controlled prompts, leading to unauthorized consumption of the site owner's paid AI API quota.
AnalysisAI
BetterDocs plugin for WordPress versions up to 4.3.11 allows authenticated subscribers and higher to trigger arbitrary OpenAI API calls using the site's configured API key due to missing capability checks in the generate_openai_content_callback() function. An attacker with subscriber-level access can supply arbitrary prompts to exhaust the site owner's paid AI API quota without authorization, resulting in unauthorized financial impact and service degradation. No public exploit code or active exploitation has been identified at time of analysis.
Technical ContextAI
The vulnerability exists in the generate_openai_content_callback() function within the WriteWithAI.php component of the BetterDocs plugin. The function validates nonce tokens (CSRF protection) but fails to implement WordPress capability checks via functions like current_user_can() that enforce role-based permissions. CWE-862 (Missing Authorization) classifies this as an access control flaw where permission validation is absent entirely. The function directly processes user-supplied prompts and forwards them to OpenAI's API using the site's stored API credentials, bypassing any authorization layer that should restrict this functionality to administrators only.
RemediationAI
Update the BetterDocs plugin to a version newer than 4.3.11 that includes capability checks in the generate_openai_content_callback() function. The WordPress plugin repository Trac shows fixes have been applied; upgrade to the latest available version from the WordPress Plugin Directory. Alternatively, if an immediate patch is not available, restrict subscriber-level user access by reviewing user roles in WordPress admin (Users menu) and downgrading unnecessary subscriber accounts to a role below subscriber or removing their access entirely. Limit OpenAI API key scope and implement usage alerts in your OpenAI account dashboard to monitor for unexpected quota consumption. Review WordPress user access logs to identify if any unauthorized OpenAI API calls have occurred under subscriber accounts. Apply principle of least privilege: assign the 'Contributor' role or lower to users who do not require OpenAI integration, as this vulnerability is exclusive to subscriber-level access and above.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-25394
GHSA-hpvr-gqf8-j82g