# Easy Appointments <= 4.0.3 - Unauthenticated Authentication Bypass via Forgeable Legacy Appointment Action Token

- **ID:** WPSEC-2026-1459
- **Plugin:** Easy Appointments (`easy-appointments`), https://wordpress.org/plugins/easy-appointments/
- **Affected versions:** from 4.0.3 before 4.0.4
- **Fixed in:** 4.0.4 (Update to 4.0.4 or later.)
- **Severity:** Low 3.7 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N)
- **Weakness:** CWE-330
- **Usage among sites WPSec scans:** plugin Low, affected versions None seen (as of 2026-10-22)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/easy-appointments
- **Fix released:** 2026-10-21
- **Published:** 2026-10-22
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1459/

## Description

The Easy Appointments plugin for WordPress is vulnerable to authentication bypass via the email action links (confirm/cancel) in version 4.0.3, due to a backward-compatible token fallback in validate_token() that accepts an MD5 hash of a salt hardcoded in the plugin, the appointment's creation timestamp and the action, with no limit on failed attempts. This makes it possible for unauthenticated attackers who know or guess an appointment ID and its creation time to forge valid tokens and confirm or cancel other customers' appointments.

## References

- https://wpsec.com/vuln/WPSEC-2026-1459/
- https://plugins.svn.wordpress.org/easy-appointments/tags/4.0.4/
- https://wordpress.org/plugins/easy-appointments/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-1459/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
