Skip to main content

Easy Appointments CVE-2026-87966

| EUVDEUVD-2026-82675 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-18 WPScan GHSA-52p7-4rrr-jvcv
5.3
CVSS 3.1 · Vendor: WPScan
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach public reservation endpoint
  2. Delivery
    Supply arbitrary appointment id
  3. Exploit
    Bypass missing ownership check
  4. Execution
    Overwrite target appointment
  5. Impact
    Trigger 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Easy Appointments 4.0 <4.0.2.2

Affected Packages

euvd easy_appointments fix: 4.0.2.2

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

Vendor (WPScan) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (WPScan).

CVSS VectorVendor: WPScan

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

3
Patch available
Sep 18, 2026 - 07:01 EUVD
CVE Published
Sep 18, 2026 - 06:00 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 18, 2026 - 06:00 cve.org
MEDIUM 5.3

DescriptionCVE.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

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Medium
popular WordPress appointment-booking plugin, tens of thousands of active installs
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2025-50383 HIGH POC
8.1 Aug 25

alextselegidis Easy!Appointments v1.5.1 was discovered to contain a SQL injection vulnerability via the order_by paramet

CVE-2026-23622 HIGH POC
7.4 Jan 15

Cross-Site Request Forgery (CSRF) in Easy!Appointments 1.5.2 and earlier allows remote attackers to perform administrati

CVE-2026-14224 MEDIUM POC
5.4 Jul 29

Easy Appointments WordPress plugin through version 3.12.26 exposes an insecure direct object reference (IDOR) that lets

CVE-2019-14936 MEDIUM POC
5.3 Sep 11

Easy!Appointments 1.3.2 plugin for WordPress allows Sensitive Information Disclosure (Username and Password Hash). Rated

CVE-2026-87965 MEDIUM POC
4.8 Sep 18

Unauthenticated attackers can cancel or confirm arbitrary appointments in the Easy Appointments WordPress plugin before

CVE-2026-14226 MEDIUM POC
4.3 Jul 30

Easy Appointments WordPress plugin through version 3.12.26 exposes an appointment-listing REST endpoint to any authentic

CVE-2026-14223 MEDIUM POC
4.3 Jul 30

Insecure direct object reference in the Easy Appointments WordPress plugin (all versions through 3.12.26) permits any au

CVE-2026-8789 HIGH
8.1 Jul 24

Una

CVE-2026-14222 LOW POC
3.8 Jul 30

Improper access control in the Easy Appointments WordPress plugin through version 3.12.26 allows any contributor-level W

CVE-2026-14221 LOW POC
3.8 Jul 30

Broken access control in the Easy Appointments WordPress plugin through version 3.12.26 permits any contributor-level au

CVE-2025-29448 HIGH
7.5 May 07

Booking logic flaw in Easy!Appointments v1.5.1 allows unauthenticated attackers to create appointments with excessively

CVE-2026-39513 HIGH
7.5 Jun 15

Unauthenticated information disclosure in the Easy Appointments WordPress plugin (versions ≤ 3.12.21) allows remote atta

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy