CVE-2026-14854 Overview
CVE-2026-14854 affects the WooCommerce Bookings WordPress plugin in versions before 3.11.0. The plugin fails to limit a user-supplied value before using it to allocate memory inside an unauthenticated AJAX action. Unauthenticated attackers can submit a single crafted request to exhaust server memory and trigger a Denial of Service condition. The flaw is categorized under uncontrolled resource consumption [CWE-400] and is reachable over the network without authentication or user interaction.
Critical Impact
A single unauthenticated HTTP request can exhaust server memory and take WordPress sites offline, disrupting booking workflows and dependent commerce functionality.
Affected Products
- WooCommerce Bookings WordPress plugin versions prior to 3.11.0
- WordPress sites running the vulnerable plugin with unauthenticated AJAX endpoints exposed
- E-commerce deployments relying on WooCommerce Bookings for appointment or reservation workflows
Discovery Timeline
- 2026-10-11 - CVE-2026-14854 published to the National Vulnerability Database
- 2026-10-13 - Last updated in NVD database
Technical Details for CVE-2026-14854
Vulnerability Analysis
The WooCommerce Bookings plugin exposes AJAX actions that process input from unauthenticated clients. One of these actions accepts a user-controlled value and passes it directly to a memory allocation operation. Because the plugin does not validate or cap the supplied value, an attacker can request allocation of an arbitrarily large memory region. PHP enforces a memory_limit per request, but attackers can trigger this allocation repeatedly or at a size that pushes the process beyond its limit. The resulting fatal error terminates the request, and sustained requests exhaust available system memory, degrade the web worker pool, and interrupt service for legitimate users.
Root Cause
The root cause is missing input validation on a size or count parameter consumed by an unauthenticated AJAX handler. The handler trusts the client-supplied value and uses it as the basis for allocation without bounds checking, type coercion limits, or a maximum ceiling. This pattern maps to [CWE-400] Uncontrolled Resource Consumption.
Attack Vector
An unauthenticated attacker sends an HTTP POST request to the WordPress admin-ajax.php endpoint targeting the vulnerable action. The request includes a large numeric value for the parameter that drives memory allocation. The PHP worker servicing the request allocates memory until it hits the configured limit or the underlying operating system boundary. See the WPScan Vulnerability Report for additional technical context.
// No verified exploit code is published. The vulnerability is
// described in prose. Refer to the WPScan advisory for details.
Detection Methods for CVE-2026-14854
Indicators of Compromise
- Repeated POST requests to /wp-admin/admin-ajax.php referencing WooCommerce Bookings actions from unauthenticated sources
- PHP fatal errors in web server logs referencing Allowed memory size of X bytes exhausted
- Sudden spikes in PHP-FPM or Apache worker memory usage correlated with inbound AJAX traffic
- Elevated 500-series HTTP responses from WordPress endpoints during traffic surges
Detection Strategies
- Alert on anomalous POST payload sizes or parameter values targeting admin-ajax.php AJAX actions tied to the Bookings plugin
- Correlate PHP memory exhaustion errors with source IP, request path, and action name to identify abuse patterns
- Deploy web application firewall rules that flag requests containing abnormally large numeric parameters to bookings endpoints
Monitoring Recommendations
- Monitor web server and PHP error logs for repeated out-of-memory conditions tied to a single endpoint
- Track per-IP request rates to admin-ajax.php and set thresholds for unauthenticated traffic
- Instrument application performance monitoring to catch sudden worker memory growth or process restarts
How to Mitigate CVE-2026-14854
Immediate Actions Required
- Upgrade the WooCommerce Bookings plugin to version 3.11.0 or later on all WordPress installations
- Audit WordPress sites for the presence of vulnerable Bookings plugin versions using the plugin manifest or wp plugin list
- Place a web application firewall in front of exposed WordPress endpoints and enable rules that block oversized AJAX parameters
Patch Information
The vendor fixed the issue in WooCommerce Bookings version 3.11.0 by enforcing bounds on the user-supplied value before allocation. Administrators should update through the WordPress plugin manager or via WP-CLI. Verify the installed version matches 3.11.0 or newer after the update. Reference the WPScan Vulnerability Report for advisory details.
Workarounds
- Restrict access to admin-ajax.php from untrusted networks where feasible, or require authentication at the edge
- Lower the PHP memory_limit for the WordPress pool to contain per-request impact until the patch is deployed
- Deploy WAF signatures that cap numeric parameter sizes submitted to Bookings AJAX actions
- Enable rate limiting on admin-ajax.php to reduce the volume of attack requests reaching PHP workers
# Example: update the plugin via WP-CLI
wp plugin update woocommerce-bookings --version=3.11.0
wp plugin list --name=woocommerce-bookings --fields=name,version,status
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

