Skip to main content

BetterDocs Pro CVE-2026-4348

| EUVDEUVD-2026-28319 HIGH
SQL Injection (CWE-89)
2026-05-07 Wordfence GHSA-89cx-53rv-jcx8
7.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify WordPress target with BetterDocs Pro
  2. Delivery
    Verify Encyclopedia feature enabled
  3. Exploit
    Craft malicious AJAX POST with SQL injection in limit parameter
  4. Execution
    Execute injected query via get_current_letter_docs endpoint
  5. Persist
    Extract sensitive database tables
  6. Impact
    Exfiltrate credentials and confidential data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Encyclopedia feature must be explicitly enabled in BetterDocs Pro settings - this is the SPECIFIC configuration requirement that gates exploitation. Without Encyclopedia enabled, the vulnerable AJAX actions (get_current_letter_docs and docs_sort_by_letter) are not registered or callable, making the vulnerability unexploitable regardless of version. The CVSS vector AV:N/AC:L/PR:N/UI:N confirms no other limiting factors: exploitation is possible remotely over HTTP/HTTPS against default WordPress AJAX endpoints, requires no authentication (WordPress nopriv AJAX actions are publicly accessible), involves no user interaction, and works against standard BetterDocs Pro installations. The vulnerability is not limited by specific WordPress versions, hosting configurations, or PHP settings. Defenders can assess realistic risk by determining whether Encyclopedia feature is enabled: sites without this feature enabled face zero practical risk from this CVE despite vulnerable code being present. This significantly reduces the actual attack surface compared to the CVSS severity score, as Encyclopedia is an optional feature rather than core plugin functionality.

Impact

Real-world risk assessment reveals a nuanced threat profile. The CVSS 7.5 score accurately reflects high confidentiality impact (C:H) with network-based unauthenticated exploitation (AV:N/AC:L/PR:N/UI:N), indicating this is objectively a serious vulnerability from a technical perspective. However, several factors moderate practical risk: (1) The Encyclopedia feature must be explicitly enabled in BetterDocs Pro settings, limiting the attack surface to a subset of installations. (2) No CISA KEV listing indicates no confirmed widespread exploitation campaigns. (3) Wordfence Threat Intelligence documented this as a research finding rather than incident response, suggesting discovery through code audit rather than active abuse. (4) The impact scope is limited to confidentiality (I:N/A:N) - attackers can read database contents but not modify data or achieve code execution directly. (5) No public POC is referenced, raising the barrier for opportunistic exploitation. SSVC decision framework suggests 'scheduled' priority rather than 'immediate' for most organizations: exploitation is 'none' currently, technical impact is 'partial' (data exposure not system compromise), and automatable attack complexity is moderate (requires identifying Encyclopedia-enabled targets). Priority increases significantly for high-value WordPress sites with sensitive data in their databases and Encyclopedia feature enabled. The absence of EPSS scoring prevents probabilistic risk comparison to similar vulnerabilities.

Exploit ScenarioDerived

An unauthenticated remote attacker identifies a WordPress site running BetterDocs Pro with Encyclopedia feature enabled (detectable through front-end DOM inspection or by testing the AJAX endpoints directly). The attacker crafts a malicious HTTP POST request to /wp-admin/admin-ajax.php with action=get_current_letter_docs and a weaponized limit parameter such as '10 UNION SELECT user_login,user_pass,user_email FROM wp_users--' which bypasses $wpdb->prepare() sanitization. The manipulated SQL query executes with WordPress database privileges, returning sensitive data including password hashes, email addresses, and other wp_users table contents in the AJAX response. The attacker iterates through different table names and column structures to exfiltrate complete database contents including posts, custom fields, and potentially credentials for other integrated systems stored in wp_options or custom tables.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 07, 2026

Unauthenticated SQL injection in BetterDocs Pro for WordPress allows remote attackers to extract sensitive database contents when the Encyclopedia feature is enabled. The vulnerability affects all versions up to 3.7.0 through unsanitized 'limit' parameters in two AJAX endpoints. With CVSS 7.5 (High severity) and network-based unauthenticated attack vector, this presents significant risk to sites using the Encyclopedia feature, though no active exploitation (KEV) or public POC has been identified at time of analysis. EPSS data not available for risk calibration.

RemediationAI

Upgrade BetterDocs Pro to version 3.7.1 or later if available, verifying the fix version from the official changelog at https://betterdocs.co/changelog/ and vendor communications. The Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/5c0f02ad-f5f1-42b1-8116-e391aaa85430?source=cve provides technical details for validation. As an immediate compensating control, disable the Encyclopedia feature in BetterDocs Pro settings (typically under BetterDocs > Settings > Encyclopedia) to eliminate the vulnerable code path entirely - this prevents exploitation but removes Encyclopedia functionality for users. For sites requiring Encyclopedia features, implement WordPress application firewall rules (via Wordfence, Sucuri, or similar WAF) to filter AJAX requests to wp-admin/admin-ajax.php where action parameters equal get_current_letter_docs or docs_sort_by_letter and limit parameters contain SQL metacharacters (quotes, semicolons, UNION keywords, comment markers). This WAF approach may cause false positives with legitimate large limit values and requires tuning. Database-level monitoring for unusual SELECT queries from the WordPress database user can provide detection capability but does not prevent exploitation. Review database access logs for suspicious query patterns in the period prior to patching to identify potential historical compromise.

Affected VersionsENISA

BetterDocs Pro 0 ≤3.7.0

Affected Packages

euvd betterdocs_pro no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is a classic SQL injection vulnerability (CWE-89) in a WordPress plugin's AJAX handler implementation. The flaw occurs in BetterDocs Pro's get_current_letter_docs and docs_sort_by_letter AJAX actions, which are designed to support the plugin's Encyclopedia feature for organizing documentation alphabetically. The vulnerable code concatenates the user-supplied 'limit' POST parameter directly into a SQL query string before passing it to WordPress's $wpdb->prepare() function. While prepare() is intended to safely parameterize database queries, it only sanitizes variables explicitly marked with placeholders - any values already concatenated into the query string bypass this protection entirely. This implementation error is particularly dangerous because WordPress AJAX endpoints with 'nopriv' registration are accessible to unauthenticated users by default. The vulnerability affects the cpe:2.3:a:betterdocs:betterdocs_pro product line, demonstrating how even security-conscious frameworks like WordPress require developers to use their sanitization APIs correctly rather than mixing string concatenation with parameterized queries.

Know when Betterdocs gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The BetterDocs Pro plugin for WordPress is vulnerable to SQL Injection via the get_current_letter_docs and docs_sort_by_letter AJAX actions in all versions up to, and including, 3.7.0. This is due to the limit POST parameter being interpolated directly into a SQL query string before being passed to $wpdb->prepare(), which only parameterizes other variables. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. The Encyclopedia feature must be enabled in BetterDocs Pro settings for the vulnerability to be exploitable.

Executive ViewAI

Why It Matters

BetterDocs Pro for WordPress contains an unauthenticated SQL injection vulnerability in its Encyclopedia feature that allows attackers to extract sensitive database contents without authentication. Organizations using BetterDocs Pro versions 3.7.0 and earlier with Encyclopedia enabled face immediate risk of confidential data exposure, including customer information and internal documentation stored in WordPress databases.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable Encyclopedia feature in plugin settings; (2) Implement network-level access controls restricting AJAX endpoint requests to trusted IP ranges; (3) Deploy Web Application Firewall rules to filter suspicious 'limit' parameter values; (4) Enable database activity monitoring to detect extraction attempts; (5) Restore from clean backups if compromise is suspected.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy