Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as WordPress administrator
-
DeliveryEnsure target calendar exceeds 200 bookings
-
ExploitSubmit crafted data[orderby] via AJAX handler
-
ExecutionAppend injected SQL into unprepared query
-
ImpactExfiltrate sensitive database contents
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 | Requires an authenticated WordPress account with Administrator-level privileges or above (per PR:H), which is the primary limiting factor. Additionally, the targeted booking calendar must contain more than 200 bookings, because the 'data[orderby]' value is only forwarded to the database layer when the AJAX booking handler enters the use_ajax branch; below that threshold the sink is not reached. This is a non-default state, though an Administrator can deliberately satisfy it by creating bookings directly. There is no unauthenticated or low-privilege path and no user interaction is required once admin access is held; impact is limited to confidentiality (database read/extraction) with no integrity or availability effect. |
| Impact | This is a genuinely low-to-moderate priority issue despite the CWE-89 SQL injection classification, and the signals are internally consistent rather than conflicting. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, base 4.9 Medium) is the dominant signal: the PR:H requirement means exploitation demands WordPress administrator-level access, which is the single most important mitigating factor. An attacker who already holds Administrator rights can typically read the database through many legitimate channels, so the marginal risk added by this specific SQLi is limited - it mainly matters in multi-tenant or least-privilege scenarios where an admin is not expected to have raw SQL capability. No EPSS score was provided, no CISA KEV listing is present, and no public proof-of-concept is referenced, so there is no public exploit identified at time of analysis. The confidentiality-only impact (C:H, I:N, A:N) correctly reflects that this is a data-extraction flaw, not a code-execution or destructive one. There are no conflicting signals here: network attack vector plus high privileges plus a non-default precondition (>200 bookings) all point to a flaw that is real but low-urgency, best handled through routine patching rather than emergency response. |
| Exploit ScenarioDerived | An authenticated WordPress Administrator (or a compromised/rogue admin account) on a site running WP Booking System ≤2.1.0.1 targets a booking calendar containing more than 200 bookings, then submits a crafted 'data[orderby]' value through the AJAX booking handler. Because the parameter is insufficiently escaped and the query is not properly prepared, the attacker appends additional SQL and extracts sensitive data such as user records or secrets from the WordPress database. No public exploit code is identified at time of analysis, and the attacker can create the required bookings directly to meet the 200-booking precondition. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Authenticated SQL injection in the WP Booking System - Booking Calendar plugin for WordPress (all versions up to and including 2.1.0.1) lets a user with Administrator-level privileges or above inject arbitrary SQL via the AJAX 'data[orderby]' parameter and read sensitive records from the site database. The attack path is constrained: the orderby value only reaches the SQL query builder when the booking AJAX handler takes the use_ajax branch, which requires the targeted calendar to contain more than 200 bookings - a non-default state that an Administrator can deliberately create. This issue is not listed in CISA KEV and no public exploit code was identified at time of analysis; a confidentiality-only impact (CVSS 4.9, PR:H, no user interaction) keeps the practical risk low-to-moderate, and the vendor has released 2.1.0.2 to fix it.
RemediationAI
Vendor-released patch: update the WP Booking System - Booking Calendar plugin to 2.1.0.2 or later, which removes the unsanitized orderby concatenation; the fix is visible in the Trac changeset at https://plugins.trac.wordpress.org/changeset?reponame=&new=3736389%40wp-booking-system%2Ftags%2F2.1.0.2&old=3732637%40wp-booking-system%2Ftags%2F2.1.0.1 and the advisory is at https://www.wordfence.com/threat-intel/vulnerabilities/id/12923175-4db4-4afc-9e9b-b9f139f24a79?source=cve. Because exploitation requires Administrator-level access (PR:H), the most effective compensating controls are strict administrative account hygiene - enforce least privilege, remove dormant or unnecessary Administrator users, enforce strong unique passwords and MFA for admins, and review administrator activity logs for suspicious AJAX requests to the booking output handler - with the trade-off that these measures reduce but do not eliminate the risk from a compromised or malicious admin. Temporarily disabling the plugin removes the attack surface entirely but also disables booking functionality on the site; note that the 200-booking precondition is not a reliable mitigation since an Administrator can create bookings directly. Generic WAF rules that block SQL keywords in the 'data[orderby]' parameter may help but can be bypassed with encoding tricks and should not be relied on in place of the 2.1.0.2 update.
Affected VersionsENISA
Affected Packages
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
The flaw is a classic CWE-89 SQL injection in the Murgroland WP Booking System - Booking Calendar WordPress plugin, identified in CPE as cpe:2.3:a:murgroland:wp_booking_system_-_booking_calendar. The 'data[orderby]' request value is accepted by the plugin's booking AJAX/output layer (referenced in includes/base/admin/booking/class-bookings-outputter.php and functions-actions-booking.php) and forwarded to the database abstraction in includes/abstracts/abstract-class-object-db.php#L83 and the bookings query builder in includes/base/booking/class-object-db-bookings.php#L165, where it is concatenated into an existing SQL query without proper escaping or use of WordPress prepared statements. Because the injection point is an ORDER BY clause reached only through the use_ajax code path, exploitation is conditional on the target calendar having more than 200 bookings; the CVSS vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N confirms remote reachability, high privileges required (PR:H, i.e., Administrator-level or above), no user interaction, unchanged scope, and confidentiality-only impact with no integrity or availability effect.
Know when Wordpress Plugin 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
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
Exploitation requires administrator privileges (PR:H) over the web-facing AJAX handler (AV:N), is reliably reproducible once the attacker-controllable 200-booking condition is met (AC:L), and only leaks data (C:H, I:N, A:N).
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The WP Booking System - Booking Calendar plugin for WordPress is vulnerable to generic SQL Injection via the 'data[orderby]' parameter in all versions up to, and including, 2.1.0.1 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with administrator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. Exploitation requires the targeted calendar to have more than 200 bookings, as the orderby value is only forwarded to the database layer when the AJAX handler takes the use_ajax branch; an Administrator can satisfy this condition by creating bookings directly.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
More in Wordpress Plugin
View allThe 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
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
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
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
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
EUVD-2026-102784
GHSA-936g-2qxf-mq79
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB