CVE-2026-9188: Appointment Bookings for Zoom GoogleMeet and more (WordPress plugin) · Insecure Direct Object Reference
Affects Appointment Bookings for Zoom GoogleMeet and more (WordPress plugin)Source CVE Database V5
Not known to be exploited · CVSS 5.3 Medium.
Data as of 13 Nov 2026, 23:54 UTC
- EPSS
- 0.5% chance of exploitation in 30 days – higher than 44% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 2 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 14 Nov 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| wappointmentAppointment Bookings for Zoom GoogleMeet and more – Wappointment | Affected
| Fixed in– |
AI-suggested
Until a fix is available, consider disabling the allow_cancellation and allow_rescheduling settings to prevent exploitation. Monitor for updates from the vendor regarding patches or official mitigations.
Description
The Appointment Bookings for Zoom GoogleMeet and more – Wappointment plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to and including 2.7.6 via the `appointmentkey` parameter due to the appointment `edit_key` — the sole authorization token consumed by `tryCancel()` — being generated as a predictable, unsalted MD5 hash of only `client_id` (a sequential integer), `start_at` (a publicly observable appointment timestamp), and `staff_id` (a small enumerable integer), with no secret salt or random component, and the unauthenticated cancellation and rescheduling REST endpoints performing no ownership or identity verification beyond matching this reconstructible key. This makes it possible for unauthenticated attackers to compute valid `edit_key` values for appointments belonging to other users and cancel or reschedule those appointments arbitrarily. Exploitation requires the `allow_cancellation` or `allow_rescheduling` setting to be enabled on the site, both of which are common configurations for active booking deployments; an attacker can obtain the inputs needed to reconstruct a victim's key by booking their own appointment to observe their sequential `client_id` and correlating publicly visible appointment times and enumerable staff identifiers.
References
- wordfence.com/threat-intel/vulnerabilities/id/07069f39-f892-4c19-8e0b-e5e17b1ffb21?source=cve (opens in a new tab)
- plugins.trac.wordpress.org/browser/wappointment/tags/2.7.6/app/Services/AppointmentNew.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wappointment/tags/2.7.6/app/Services/AppointmentNew.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wappointment/tags/2.7.6/app/Models/Client.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wappointment/tags/2.7.6/app/Services/AppointmentNew.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wappointment/tags/2.7.5/app/Services/AppointmentNew.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wappointment/tags/2.7.5/app/Services/AppointmentNew.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wappointment/tags/2.7.5/app/Models/Client.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/wappointment/tags/2.7.5/app/Services/AppointmentNew.php (opens in a new tab)
- plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3546313%40wappointment&new=3546313%40wappointment&sfp_email=&sfph_mail= (opens in a new tab)