Skip to content
Laskyr

Plugins · easy-appointments · data as of 2026-11-04

Is Easy Appointments safe? Known vulnerabilities and latest version

No known unpatched vulnerabilities in the latest version (4.0.4)

As of 2026-11-04. 24 issues are on record for older versions; version 4.0.2.2 or newer fixes all of them that state a fix.

Latest version
4.0.4
Last updated
2026-10-21
Active installs
10,000+
Known issues on record
24
Unpatched in latest
0
Tested up to WP
7.1.4 · PHP 5.3+

The easiest free WordPress booking plugin. Create beautiful appointment booking forms with flexible scheduling and email notifications. — by Easy Appointments

What to do

  1. Update to the latest version (4.0.4). Anything older than 4.0.2.2 has at least one known issue listed below. Dashboard → Updates, or Plugins → “update now”.
  2. If you cannot update right away, deactivate it until you can.
  3. Turn on auto-updates for it: Plugins → “Enable auto-updates” on its row.
  4. If you ran a vulnerable version and something looks off (spam pages, strange admins, redirects), run the free scan.

With WP-CLI: wp plugin get easy-appointments --field=version shows what you run; wp plugin update easy-appointments updates it.

Check your version

Known vulnerabilities

24 on record, newest first. “Affected” is the version range the source gives; “fixed in” is the version the source names, or (marked *) the first wordpress.org release after the last affected version.

medium 6.5 CVE-2026-9232 · published 2026-09-19

Information disclosure in Easy Appointments (3.12.27 and older)

Affected
3.12.27 and older
Fixed in
3.12.28 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The Easy Appointments plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.12.27 via the handle_customers_ajax. This makes it possible for authenticated attackers, with contributor-level access and above, to extract the full customer dataset from the ea_customers table, including personally identifiable information such as names, email addresses, mobile numbers, dates of birth, and physical addresses.

NVD CVE-2026-9232Wordfence advisoryCode change (fix)Plugin source

medium 4.8 CVE-2026-87965 · published 2026-09-18

Missing authorization check in Easy Appointments (older than 4.0.2.2)

Affected
older than 4.0.2.2
Fixed in
4.0.2.2
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The Easy Appointments WordPress plugin before 4.0.2.2 does not use an unguessable token to authorize its mail-link appointment cancellation and confirmation action, deriving the token from a hardcoded source-embedded salt and the appointment's creation timestamp, so unauthenticated attackers who know or guess that timestamp can cancel or confirm arbitrary appointments.

NVD CVE-2026-87965WPScan advisory

medium 5.3 CVE-2026-87966 · published 2026-09-18

Missing authorization check in Easy Appointments (4.0 up to (not including) 4.0.2.2)

Affected
4.0 up to (not including) 4.0.2.2
Fixed in
4.0.2.2
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

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.

NVD CVE-2026-87966WPScan advisory

high 7.1 CVE-2026-81798 · published 2026-09-08

Cross-site scripting (XSS) in Easy Appointments (4.0.2.1 and older)

Affected
4.0.2.1 and older
Fixed in
4.0.2.2 *
Access needed (per CVSS)
No login needed; someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by Patchstack
Details from the advisory

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Easy Appointments allows DOM-Based XSS. This issue affects Easy Appointments: from n/a through 4.0.2.1.

NVD CVE-2026-81798Patchstack advisory

low 2.7 CVE-2026-19406 · published 2026-08-19

Information disclosure in Easy Appointments (3.12.28 up to (not including) 4.0.1)

Affected
3.12.28 up to (not including) 4.0.1
Fixed in
4.0.1
Access needed (per CVSS)
Needs an admin-level account
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The Easy Appointments WordPress plugin before 4.0.1 does not restrict one of its appointment-listing REST endpoints to the records belonging to the requesting user, allowing users with contributor-level access to read all bookings on the site, including customer names, schedules, and statuses.

NVD CVE-2026-19406WPScan advisory

low 2.7 CVE-2026-14225 · published 2026-08-06

Security issue in Easy Appointments (older than 3.12.28)

Affected
older than 3.12.28
Fixed in
3.12.28
Access needed (per CVSS)
Needs an admin-level account
Range from
CVE record (the advisory publisher) · score by WPScan
Details from the advisory

The Easy Appointments WordPress plugin before 3.12.28 does not correctly validate shortcode input in one of its block-rendering actions, checking only the first tag of the supplied string against an allowlist while rendering the entire string, allowing users with contributor-level access to execute arbitrary registered shortcodes.

NVD CVE-2026-14225WPScan advisory

medium 4.3 CVE-2026-14223 · published 2026-07-30

Missing authorization check in Easy Appointments (older than 3.12.28)

Affected
older than 3.12.28
Fixed in
3.12.28
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The Easy Appointments WordPress plugin before 3.12.28 does not verify ownership or capability when returning stored customer details, allowing users with subscriber-level access to read any customer's personal information by iterating an identifier.

NVD CVE-2026-14223WPScan advisory

medium 4.3 CVE-2026-14226 · published 2026-07-30

Information disclosure in Easy Appointments (older than 3.12.28)

Affected
older than 3.12.28
Fixed in
3.12.28
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The Easy Appointments WordPress plugin before 3.12.28 does not require a sufficient capability on one of its appointment-listing REST endpoints, restricting it only to a capability that every authenticated user holds, allowing users with subscriber-level access to read all bookings on the site, including customer names, schedules, and statuses.

NVD CVE-2026-14226WPScan advisory

low 2.7 CVE-2026-14188 · published 2026-07-30

Information disclosure in Easy Appointments (older than 3.12.28)

Affected
older than 3.12.28
Fixed in
3.12.28
Access needed (per CVSS)
Needs an admin-level account
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The Easy Appointments WordPress plugin before 3.12.28 does not perform a per-request capability or nonce check on one of its customer-listing handlers, allowing authenticated users with contributor-level access to read every stored customer's personal information.

NVD CVE-2026-14188WPScan advisory

low 3.8 CVE-2026-14221 · published 2026-07-30

Missing authorization check in Easy Appointments (4.0 and older)

Affected
4.0 and older
Fixed in
4.0.1 *
Access needed (per CVSS)
Needs an admin-level account
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The Easy Appointments WordPress plugin through 4.0 does not perform capability checks in several of its appointment-management actions, relying only on a nonce that any authenticated user can obtain, allowing users with contributor-level access to read all customers' appointment details and to create, modify, and delete bookings.

NVD CVE-2026-14221WPScan advisory

low 3.8 CVE-2026-14222 · published 2026-07-30

Missing authorization check in Easy Appointments (older than 3.12.28)

Affected
older than 3.12.28
Fixed in
3.12.28
Access needed (per CVSS)
Needs an admin-level account
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The Easy Appointments WordPress plugin before 3.12.28 does not perform any capability or nonce check in one of its connection-deletion actions, allowing users with contributor-level access to delete the booking configuration and disable the booking system.

NVD CVE-2026-14222WPScan advisory

medium 5.4 CVE-2026-14224 · published 2026-07-29

Missing authorization check in Easy Appointments (older than 3.12.28)

Affected
older than 3.12.28
Fixed in
3.12.28
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory

The Easy Appointments WordPress plugin before 3.12.28 does not verify that the appointment targeted by its customer-data update action belongs to the current user; the action only checks a shared nonce that any authenticated user can obtain from their own appointment's edit form. A subscriber-level user with an appointment of their own can therefore reuse that nonce to overwrite the customer metadata (email, name, phone, description) of another user's appointment. Because the Easy Appointments WordPress plugin before 3.12.28 then treats that metadata as the appointment's contact data, a subsequent administrator status change with customer notifications enabled delivers the victim's appointment notification to the attacker-controlled email address.

NVD CVE-2026-14224WPScan advisory

high 8.1 CVE-2026-8789 · published 2026-07-24

Missing authorization check in Easy Appointments (3.12.27 and older)

Affected
3.12.27 and older
Fixed in
3.12.28 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The Easy Appointments plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check and missing nonce verification on the `ea_delete_multiple_connections` AJAX action in all versions up to, and including, 3.12.27. This makes it possible for authenticated attackers, with Contributor-level access and above, to delete arbitrary connection records from the `wp_ea_connections` table, disrupting the plugin's core booking functionality.

NVD CVE-2026-8789Wordfence advisoryCode change (fix)

medium 6.5 CVE-2026-61946 · published 2026-07-23

Missing authorization check in Easy Appointments (3.12.27 and older)

Affected
3.12.27 and older
Fixed in
3.12.28
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Patchstack
Details from the advisory

Unauthenticated Insecure Direct Object References (IDOR) in Easy Appointments <= 3.12.27 versions.

NVD CVE-2026-61946Patchstack advisory

medium 4.3 CVE-2026-11992 · published 2026-07-10

Missing authorization check in Easy Appointments (3.12.27 and older)

Affected
3.12.27 and older
Fixed in
3.12.28 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The Easy Appointments plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 3.12.27. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with author-level access and above, to cancel all upcoming appointments site-wide by marking every future appointment stored by the plugin as abandoned. The nonce required to authenticate the cancellation request is printed on the Appointments admin page, which is itself gated only by the edit_posts capability that Authors possess, making the nonce readily accessible to low-privileged users.

NVD CVE-2026-11992Wordfence advisoryPlugin source

high 7.5 CVE-2026-39513 · published 2026-06-15

Missing authorization check in Easy Appointments (3.12.21 and older)

Affected
3.12.21 and older
Fixed in
3.12.22
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Patchstack
Details from the advisory

Unauthenticated Broken Access Control in Easy Appointments <= 3.12.21 versions.

NVD CVE-2026-39513Patchstack advisory

high 7.5 CVE-2026-2262 · published 2026-04-18

Information disclosure in Easy Appointments (3.12.21 and older)

Affected
3.12.21 and older
Fixed in
3.12.22 *
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The Easy Appointments plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.12.21 via the `/wp-json/wp/v2/eablocks/ea_appointments/` REST API endpoint. This is due to the endpoint being registered with `'permission_callback' => '__return_true'`, which allows access without any authentication or authorization checks. This makes it possible for unauthenticated attackers to extract sensitive customer appointment data including full names, email addresses, phone numbers, IP addresses, appointment descriptions, and pricing information.

NVD CVE-2026-2262Wordfence advisoryCode change (fix)Plugin source

medium 6.5 CVE-2025-49398 · published 2025-11-06

Cross-site scripting (XSS) in Easy Appointments (3.12.14 and older)

Affected
3.12.14 and older
Fixed in
3.12.14.1
Access needed (per CVSS)
No login needed
Range from
CVE record (the advisory publisher) · score by Patchstack
Details from the advisory

Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) vulnerability in Easy Appointments Easy Appointments easy-appointments allows Code Injection.This issue affects Easy Appointments: from n/a through <= 3.12.14.

NVD CVE-2025-49398Patchstack advisory

medium 6.1 CVE-2023-30748 · published 2024-12-09

Stored cross-site scripting (XSS) in Easy Appointments (3.10.7 and older)

Affected
3.10.7 and older
Fixed in
3.11.1
Access needed (per CVSS)
No login needed; someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by NVD
Details from the advisory

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Nikola Loncar Easy Appointments allows Stored XSS.This issue affects Easy Appointments: from n/a through 3.10.7.

NVD CVE-2023-30748Patchstack advisory

medium 4.3 CVE-2024-2844 · published 2024-03-29

Missing authorization check in Easy Appointments (3.11.18 and older)

Affected
3.11.18 and older
Fixed in
3.11.19 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber)
Range from
CVE record (the advisory publisher) · score by Wordfence
Details from the advisory

The Easy Appointments plugin for WordPress is vulnerable to unauthorized modification of data due to insufficient user validation on the ajax_cancel_appointment() function in all versions up to, and including, 3.11.18. This makes it possible for unauthenticated attackers to cancel other users orders.

NVD CVE-2024-2844Wordfence advisoryCode change (fix)Plugin source

medium 5.4 CVE-2024-2842 · published 2024-03-29

Stored cross-site scripting (XSS) in Easy Appointments (3.11.18 and older)

Affected
3.11.18 and older
Fixed in
3.11.19 *
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber); someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by NVD
Details from the advisory

The Easy Appointments plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's 'ea_full_calendar' shortcode in all versions up to, and including, 3.11.18 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

NVD CVE-2024-2842Wordfence advisoryCode change (fix)

high 8.8 CVE-2022-36424 · published 2023-07-17

Cross-site request forgery (CSRF) in Easy Appointments (3.11.9 and older)

Affected
3.11.9 and older
Fixed in
3.11.10
Access needed (per CVSS)
No login needed; someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by NVD
Details from the advisory

Cross-Site Request Forgery (CSRF) vulnerability in Nikola Loncar Easy Appointments plugin <= 3.11.9 versions.

NVD CVE-2022-36424Patchstack advisory

medium 5.4 CVE-2022-4668 · published 2023-01-23

Stored cross-site scripting (XSS) in Easy Appointments (older than 3.11.2)

Affected
older than 3.11.2
Fixed in
3.11.2
Access needed (per CVSS)
Needs a low-level account (e.g. subscriber); someone on the site has to click a link or open a page
Range from
CVE record (the advisory publisher) · score by NVD
Details from the advisory

The Easy Appointments WordPress plugin before 3.11.2 does not validate and escape some of its shortcode attributes before outputting them back in the page, which could allow users with a role as low as contributor to perform Stored Cross-Site Scripting attacks which could be used against high privilege users such as admins.

NVD CVE-2022-4668WPScan advisory

medium 6.1 CVE-2017-15812 · published 2017-10-23

Cross-site scripting (XSS) in Easy Appointments (1.11.7 and older)

Affected
1.11.7 and older
Fixed in
2.0.0 *
Access needed (per CVSS)
No login needed; someone on the site has to click a link or open a page
Range from
NVD analysis · score by NVD
Details from the advisory

The Easy Appointments plugin before 1.12.0 for WordPress has XSS via a Settings values in the admin panel.

NVD CVE-2017-15812wordpress.orgwpvulndb.com

Recent activity

Browse vulnerabilities

Where this data comes from

Badge for your site or docs (states facts with a date, not a verdict):
Easy Appointments vulnerability status badge
<a href="https://laskyr.com/plugins/easy-appointments"><img src="https://laskyr.com/plugins/easy-appointments/badge.svg" alt="Easy Appointments vulnerability status"></a>

← Check another plugin · Free hacked-site scan

First hour checklist

If the site was just hacked, read the emergency kit before you delete files. The page is free. Email is optional.

Read the emergency kit