Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public reservation endpoint
-
DeliverySupply arbitrary appointment id
-
ExploitBypass missing ownership check
-
ExecutionOverwrite target appointment
-
ImpactTrigger cleanup delete of records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | No special conditions - remote, unauthenticated exploitation against default configurations of the Easy Appointments WordPress plugin (versions 4.0 through <4.0.2.2). Exploitation only requires reaching the plugin's public appointment-reservation endpoint and supplying a valid appointment id; no authentication, no user interaction, and no non-default settings are needed. The only real limiting factors are that impact is confined to appointment records (overwrite/delete, no confidentiality or RCE) and that sites must be running a vulnerable version with the plugin's booking endpoint exposed. |
| Impact | This is a genuine, easy-to-exploit access-control flaw rather than an inflated high-CVSS paper risk, but its impact is bounded. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N, 5.3 Medium) aligns with the description: a fully remote, unauthenticated, low-complexity IDOR (CWE-639) requiring no user interaction. A public exploit exists (WPScan) and a vendor patch (4.0.2.2) is available, so the fix/exploit signals are both confirmed. No EPSS score is provided and the CVE is not in CISA KEV, so there is no evidence of active or automated mass exploitation at time of analysis. The main reason this is not a critical priority is the impact ceiling: there is no confidentiality or code-execution impact - an attacker can only tamper with (overwrite) and delete arbitrary appointment records. The one signal worth scrutinizing is availability: the vendor scored A:N, yet the description explicitly says appointments can be deleted, which is a real availability loss to the business booking data - this understates the vector (see assessed vector). CPE vendor is literally 'unknown', so authoritative vendor identity is unconfirmed in the structured data. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a crafted request to the plugin's public appointment-reservation endpoint, supplying the numeric id of an appointment belonging to another customer or the business. Because the endpoint performs no ownership or authorization check, the attacker overwrites that appointment's data and, via the follow-on cleanup path, deletes arbitrary appointments - enabling booking sabotage or denial of legitimate reservations. A public proof-of-concept is available from WPScan, lowering the skill required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Unauthenticated attackers can overwrite arbitrary appointment records in the Easy Appointments WordPress plugin (versions 4.0 through 4.0.2.2) by sending a request-supplied appointment id to the plugin's public appointment-reservation endpoint, which performs no ownership or authorization check before updating the record. The same missing check lets a follow-on cleanup routine delete the targeted appointments, so booking data on affected sites can be corrupted or removed. Publicly available exploit code exists, but there is no indication of confirmed active exploitation (the CVE is not in CISA KEV), and the impact is bounded - integrity and some availability of appointment records only, with no confidentiality loss and no code execution, which is why the risk is real but moderate rather than critical.
RemediationAI
Upgrade the Easy Appointments WordPress plugin to version 4.0.2.2 or later - this is the vendor-released patch and the only complete fix, since the vulnerable update path simply lacks the authorization check. Sites that cannot immediately upgrade should, as a temporary compensating control, deactivate the plugin if online booking is not required (this removes all exposure but disables the booking feature entirely and may leave booking-dependent pages broken); alternatively, restrict the appointment-reservation endpoint at the edge - for example with a WAF rule or reverse-proxy rule that rejects POSTs to the plugin's booking routes carrying an unexpected or out-of-range appointment id, or by requiring authenticated sessions for that route. These edge mitigations reduce the attack surface but are fragile, since they depend on the request shape the attacker uses and can be bypassed by encoding or parameter-name variation, and blocking the endpoint broadly will break legitimate public bookings. Review the WPScan advisory (https://wpscan.com/vulnerability/e2e625f4-c146-4622-b439-3179c4484613/) and the CVE entry (https://nvd.nist.gov/vuln/detail/CVE-2026-87966) for confirmation of the fixed release, and after upgrading audit appointment records for unauthorized overwrites or deletions that may have occurred while the site was exposed.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-639, Authorization Bypass Through User-Controlled Key: the plugin's unauthenticated appointment-reservation endpoint accepts an appointment identifier supplied directly by the caller and updates that record without verifying that the requester owns or is otherwise authorized to modify it. Because the code path is reachable without authentication on a default WordPress installation, the client fully controls the object key used in the database update, and a second internal cleanup step then removes the records it has touched, effectively chaining an overwrite into a deletion. The published CPE string (cpe:2.3:a:unknown:easy_appointments:*:*:*:*:*:*:*:*) carries placeholder vendor/product values, so identification of the exact component relies on the WPScan plugin slug 'easy-appointments' and the EUVD version range (4.0 through <4.0.2.2); the CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N confirms network reachability with no privileges or user interaction required, and our independent assessment raises the availability weight to reflect the delete-through-cleanup behavior.
Know when Easy Appointments gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Unauthenticated remote IDOR (PR:N/UI:N) tampering appointment data (I:L); adding A:L because the described deletion of arbitrary appointments is a real availability loss the vendor omitted.
Primary rating from Vendor (WPScan).
CVSS VectorVendor: WPScan
Lifecycle Timeline
3DescriptionCVE.org
The Easy Appointments WordPress plugin before 4.0.2.2 does not perform an ownership or authorization check on its unauthenticated appointment-reservation endpoint before updating an existing appointment identified by a request-supplied id, allowing unauthenticated attackers to overwrite, and through a follow-on cleanup delete, arbitrary appointments.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
More in Easy Appointments
View allalextselegidis Easy!Appointments v1.5.1 was discovered to contain a SQL injection vulnerability via the order_by paramet
Cross-Site Request Forgery (CSRF) in Easy!Appointments 1.5.2 and earlier allows remote attackers to perform administrati
Easy Appointments WordPress plugin through version 3.12.26 exposes an insecure direct object reference (IDOR) that lets
Easy!Appointments 1.3.2 plugin for WordPress allows Sensitive Information Disclosure (Username and Password Hash). Rated
Unauthenticated attackers can cancel or confirm arbitrary appointments in the Easy Appointments WordPress plugin before
Easy Appointments WordPress plugin through version 3.12.26 exposes an appointment-listing REST endpoint to any authentic
Insecure direct object reference in the Easy Appointments WordPress plugin (all versions through 3.12.26) permits any au
Una
Improper access control in the Easy Appointments WordPress plugin through version 3.12.26 allows any contributor-level W
Broken access control in the Easy Appointments WordPress plugin through version 3.12.26 permits any contributor-level au
Booking logic flaw in Easy!Appointments v1.5.1 allows unauthenticated attackers to create appointments with excessively
Unauthenticated information disclosure in the Easy Appointments WordPress plugin (versions ≤ 3.12.21) allows remote atta
EUVD-2026-82675
GHSA-52p7-4rrr-jvcv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB