CVE-2021-24555

Diary & Availability Calendar <= 1.0.3 - Authenticated (Subscriber+) SQL Injection

2021-07-23 00:00
Shreya Pohekar

Strategic Overview

Status
Unpatched
Affected Version
<= 1.0.3
CVSS
8.8High
Weakness type
CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
CVE
CVE-2021-24555
View all Diary & Availability Calendar vulnerabilities

At a glance

CVE-2021-24555 is a high-severity Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in the Diary & Availability Calendar WordPress plugin, affecting versions <= 1.0.3. It carries a CVSS score of 8.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires an authenticated account at Subscriber level or above. No fixed release has been reported yet; treat installations running this software as exposed. Disclosed July 2021, reported by Shreya Pohekar.

Vulnerability Overview

The daac_delete_booking_callback function, hooked to the daac_delete_booking AJAX action, takes the id POST parameter which is passed into the SQL statement without proper sanitisation, validation or escaping, leading to a SQL Injection issue. Furthermore, the ajax action is lacking any CSRF and capability check, making it available to any authenticated user.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Reaching this weakness in Diary & Availability Calendar <= 1.0.3 takes an account at Subscriber level or above. SQL injection happens when request data is concatenated into a query instead of being bound as a parameter, letting an attacker change the structure of the statement rather than just its values.

A working injection can read any table the database user can see, which on a WordPress install means user records, password hashes and session or API secrets stored in options. No fixed build of this plugin is recorded for Diary & Availability Calendar yet, so installs running <= 1.0.3 stay exposed until the vendor ships one.

Remediation

No known patch available. Please review the vulnerability's details in depth and employ mitigations based on your organization's risk tolerance. It may be best to uninstall the affected software and find a replacement.

How does WordSec protect against this?

An attacker needs Subscriber access first, so the firewall sees the attempt as traffic from a logged-in account: WordSec's web application firewall inspects request payloads before WordPress loads them. No patched version is recorded yet, which is the case where a filtering layer matters most, because there is nothing to update to.

  • Firewall
  • Alerts

External References

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C