{"id":"CVE-2026-105996","kind":"vulnerability","aliases":["CVE-2026-105996"],"related":[],"title":"WordPress Booking Package plugin: predictable cancellation tokens expose bookings","description":"The Booking Package WordPress plugin before 1.7.31 does not generate booking cancellation tokens using a secure source of randomness, deriving them instead from values it exposes publicly, so an unauthenticated attacker can reconstruct an arbitrary booking's token, disclose that booking's personal data and, where visitor cancellation is enabled, cancel the booking.","summary":"The Booking Package WordPress plugin before 1.7.31 builds booking cancellation tokens from publicly visible values instead of a secure random source. An unauthenticated attacker can reconstruct a booking's token, read that booking's personal data, and cancel it where visitor cancellation is enabled.","severity":"medium","cvss":4.8,"epss":0.00123,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["booking","package","wordpress","wordpress-plugin"],"not_affected_if":["plugin-1.7.31-or-later","plugin-not-installed"],"how_to_check":"- Check the installed Booking Package plugin version in the WordPress admin plugins list or the plugin header in `wp-content/plugins/`\n- Confirm whether visitor cancellation is enabled in the plugin's booking settings","fix":"- Update the Booking Package plugin to `1.7.31` or later","status":"open","published_at":"2026-10-21T06:16:46+00:00","first_seen_at":"2026-10-23T21:57:28+00:00","triaged_at":"2026-10-25T04:33:09+00:00","updated_at":"2026-10-25T04:33:09+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T04:33:09Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Booking Package plugin to `1.7.31` or later","reach":"internet","title":"WordPress Booking Package plugin: predictable cancellation tokens expose bookings","impact":"medium","summary":"The Booking Package WordPress plugin before 1.7.31 builds booking cancellation tokens from publicly visible values instead of a secure random source. An unauthenticated attacker can reconstruct a booking's token, read that booking's personal data, and cancel it where visitor cancellation is enabled.","category":"package","nicknames":[],"who_cares":["wordpress","wordpress-plugin","booking"],"confidence":0.7,"needs_auth":"no","worst_case":"Attacker reads booking personal data and cancels bookings","analyst_note":"","how_to_check":"- Check the installed Booking Package plugin version in the WordPress admin plugins list or the plugin header in `wp-content/plugins/`\n- Confirm whether visitor cancellation is enabled in the plugin's booking settings","needs_analyst":false,"not_affected_if":["plugin-not-installed","plugin-1.7.31-or-later"],"who_is_affected":"Sites running the Booking Package WordPress plugin older than 1.7.31 are exposed, since any visitor can guess a booking's cancellation token from public values. Sites where visitor cancellation is disabled still face disclosure of booking personal data. Sites not using this plugin can skip it.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000603,"input_tokens":3379,"output_tokens":530,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-105996':12A,15A '-2026':11A,14A '1.7.31':28B,72C 'arbitrari':100C 'attack':45B,96C 'book':2A,9A,16B,23B,30B,49B,54B,67C,76C,101C,106C,118C 'build':29B 'cancel':6A,31B,59B,63B,77C,113C,116C 'cve':10A,13A 'data':57B,109C 'deriv':85C 'disclos':104C 'enabl':65B,115C 'expos':8A,91C 'generat':75C 'instead':37B,87C 'packag':3A,17B,24B,68C 'person':56B,108C 'plugin':4A,21B,26B,70C 'predict':5A 'public':34B,92C 'random':41B,84C 'read':52B 'reconstruct':47B,98C 'secur':40B,81C 'sourc':42B,82C 'token':7A,32B,51B,78C,103C 'unauthent':44B,95C 'use':79C 'valu':36B,89C 'visibl':35B 'visitor':62B,112C 'wordpress':1A,18B,20B,25B,69C 'wordpress-plugin':19B","nicknames":[],"mitigations":[],"who_affected":"Sites running the Booking Package WordPress plugin older than 1.7.31 are exposed, since any visitor can guess a booking's cancellation token from public values. Sites where visitor cancellation is disabled still face disclosure of booking personal data. Sites not using this plugin can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T06:16:46+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","cvss_by":"134c704f-9b21-4f2e-91b3-4a467353bcc0","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-105996","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105996","severity":null,"published_at":"2026-10-21T06:16:46+00:00","modified_at":"2026-10-21T18:37:38+00:00","first_seen_at":"2026-10-23T21:57:28+00:00","fetched_at":"2026-10-23T22:29:01+00:00","note":null},{"source":"epss","external_id":"CVE-2026-105996","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-105996","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T13:15:55+00:00","fetched_at":"2026-10-24T13:15:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}