Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2016-20069

CVE-2016-20069: WordPress Booking Calendar SQLi Vulnerability

CVE-2016-20069 is a blind SQL injection flaw in WordPress Booking Calendar Contact Form 1.0.23 that allows unauthenticated attackers to execute arbitrary SQL queries. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2016-20069 Overview

CVE-2016-20069 is an unauthenticated blind SQL injection vulnerability in the WordPress Booking Calendar Contact Form plugin version 1.0.23. The plugin's shortcode handler fails to sanitize the calendar parameter before incorporating it into database queries. Remote attackers can inject arbitrary SQL through this parameter without authentication, enabling extraction of sensitive database contents including user credentials and configuration data. The flaw maps to [CWE-89] (Improper Neutralization of Special Elements used in an SQL Command).

Critical Impact

Unauthenticated attackers can execute arbitrary SQL queries against the WordPress database, exposing administrator credentials, password hashes, and other confidential data stored in the backend.

Affected Products

  • WordPress Booking Calendar Contact Form plugin version 1.0.23
  • WordPress sites running the vulnerable plugin in default configuration
  • Any page or post embedding the affected calendar shortcode

Discovery Timeline

  • 2026-06-15 - CVE-2016-20069 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2016-20069

Vulnerability Analysis

The vulnerability exists in the shortcode processing function of the Booking Calendar Contact Form plugin. When WordPress renders a page containing the plugin's shortcode, the handler reads the calendar attribute and passes it directly into a SQL query without escaping or parameterization. This allows an attacker to break out of the intended query context and append arbitrary SQL clauses.

The injection is blind, meaning the application does not return query results directly in the HTTP response. Attackers extract data using boolean-based or time-based inference techniques. Each request reveals one bit of information based on response differences or induced delays. Automated tooling such as sqlmap reduces extraction of entire database tables to minutes.

Because the shortcode is rendered server-side on any post or page that embeds it, exploitation does not require authentication. The attacker only needs to reach a public URL that triggers the vulnerable shortcode with attacker-controlled parameters.

Root Cause

The root cause is missing input validation and improper construction of SQL statements. The plugin concatenates the user-supplied calendar shortcode parameter into a query string rather than using the $wpdb->prepare() API provided by WordPress for safe parameter binding. This violates standard secure coding practice for the WordPress platform.

Attack Vector

The attack vector is network-based and requires no privileges or user interaction. An attacker crafts an HTTP request to a page that processes the vulnerable shortcode and supplies a malicious value for the calendar parameter. The injected payload uses standard blind SQL injection techniques such as AND SLEEP() or boolean conditions to infer query results. Refer to Exploit-DB #39423 and the VulnCheck Advisory on SQL Injection for technical proof-of-concept details.

Detection Methods for CVE-2016-20069

Indicators of Compromise

  • HTTP requests to WordPress pages containing the calendar shortcode with SQL meta-characters such as single quotes, UNION, SLEEP, or SELECT in query parameters or POST bodies.
  • Unusually long server response times correlated with calendar parameter values containing time-delay payloads.
  • Repeated requests from the same source IP with incrementally changing parameter values, consistent with automated blind extraction.
  • Apache or Nginx access logs showing User-Agent strings associated with sqlmap or other injection tooling.

Detection Strategies

  • Inspect web application firewall logs for SQL keywords appearing in shortcode parameters submitted to WordPress endpoints.
  • Enable MySQL general query logging temporarily to identify malformed queries originating from the plugin.
  • Correlate WordPress access logs with database error logs to detect injection attempts that trigger syntax exceptions.

Monitoring Recommendations

  • Deploy a WAF ruleset that blocks SQL injection patterns targeting WordPress shortcode parameters.
  • Monitor for outbound database connections or queries reading from wp_users outside of expected administrative workflows.
  • Alert on any process spawning from the web server user that performs credential dumping or lateral movement.

How to Mitigate CVE-2016-20069

Immediate Actions Required

  • Identify all WordPress installations running the Booking Calendar Contact Form plugin and confirm the installed version.
  • Disable or uninstall the vulnerable plugin until a patched version is verified and deployed.
  • Rotate WordPress administrator passwords and any secrets that may have been exposed via the database.
  • Review access logs for prior exploitation attempts against pages embedding the calendar shortcode.

Patch Information

Upgrade the Booking Calendar Contact Form plugin to a version newer than 1.0.23 in which the calendar shortcode parameter is properly sanitized. Consult the vendor at WordPress Booster Overview for the latest release and changelog. If no patched version is available, remove the plugin from the WordPress installation.

Workarounds

  • Remove the calendar shortcode from all published posts and pages to eliminate the exposed sink.
  • Restrict access to pages embedding the shortcode using authentication or IP allow-listing at the web server level.
  • Deploy a WAF rule that rejects requests containing SQL syntax in shortcode-related parameters.
bash
# Configuration example: deactivate the plugin via WP-CLI
wp plugin deactivate booking-calendar-contact-form
wp plugin delete booking-calendar-contact-form

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.