{"id":"CVE-2026-104992","kind":"vulnerability","aliases":["CVE-2026-104992"],"related":[],"title":"Amelia WordPress booking plugin: authenticated users can export all bookings","description":"The Booking for Appointments and Events Calendar – Amelia plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 9.9.1. 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 custom-level access and above, to export a full CSV of booking records for any event on the site — including attendee names, email addresses, phone numbers, booking status, number of persons, price, payment status, payment amount, and coupon codes — regardless of whether they own or participate in those events.","summary":"The Amelia booking plugin for WordPress, in all versions up to and including 9.9.1, does not check whether a logged-in user may export booking records. An authenticated user with custom-level access or higher can download a CSV of attendee names, emails, phone numbers, payment details and coupon codes for any event on the site.","severity":"medium","cvss":6.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["amelia","booking-plugin","package","wordpress"],"not_affected_if":["newer-version","no-custom-roles","plugin-not-installed"],"how_to_check":"- Check the installed Amelia plugin version in the WordPress admin plugin list, or in the plugin's main file header.\n- Confirm whether the installed version is `9.9.1` or lower.\n- Review which WordPress accounts hold custom-level roles that can reach Amelia's admin pages.","fix":null,"status":"open","published_at":"2026-11-07T10:17:06+00:00","first_seen_at":"2026-11-07T10:46:40+00:00","triaged_at":"2026-11-07T10:48:34+00:00","updated_at":"2026-11-07T10:48:34+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-07T10:48:34Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Amelia WordPress booking plugin: authenticated users can export all bookings","impact":"medium","summary":"The Amelia booking plugin for WordPress, in all versions up to and including 9.9.1, does not check whether a logged-in user may export booking records. An authenticated user with custom-level access or higher can download a CSV of attendee names, emails, phone numbers, payment details and coupon codes for any event on the site.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","amelia","booking-plugin"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"Attacker downloads customer names, emails, phone numbers and payment data","analyst_note":"Find the fixed version after 9.9.1 and the vendor's changelog, since the sources give no fix version.","how_to_check":"- Check the installed Amelia plugin version in the WordPress admin plugin list, or in the plugin's main file header.\n- Confirm whether the installed version is `9.9.1` or lower.\n- Review which WordPress accounts hold custom-level roles that can reach Amelia's admin pages.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","newer-version","no-custom-roles"],"who_is_affected":"Sites running the Amelia booking plugin for WordPress at version 9.9.1 or lower are exposed. The attacker must hold a logged-in account with custom-level access or above, so sites with only subscriber or customer accounts are less exposed. Sites that do not use Amelia can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000733,"input_tokens":4318,"output_tokens":602,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-104992':13A,16A '-2026':12A,15A '9.9.1':36B,104C 'access':57B,134C 'action':122C 'address':155C 'amelia':1A,17B,24B,88C 'amount':167C 'appoint':84C 'attack':129C 'attende':65B,152C 'authent':5A,51B,128C 'author':95C,118C 'book':3A,10A,19B,25B,48B,82C,143C,158C 'booking-plugin':18B 'bypass':96C 'calendar':87C 'check':39B 'code':74B,170C 'coupon':73B,169C 'csv':63B,141C 'custom':55B,132C 'custom-level':54B,131C 'cve':11A,14A 'detail':71B 'download':61B 'due':107C 'email':67B,154C 'event':77B,86C,147C,180C 'export':8A,47B,138C 'full':140C 'higher':59B 'includ':35B,103C,151C 'level':56B,133C 'log':43B 'logged-in':42B 'make':124C 'may':46B 'name':66B,153C 'number':69B,157C,160C 'packag':21B 'particip':177C 'payment':70B,164C,166C 'perform':120C 'person':162C 'phone':68B,156C 'plugin':4A,20B,26B,89C,110C 'possibl':126C 'price':163C 'proper':112C 'record':49B,144C 'regardless':171C 'site':80B,150C 'status':159C,165C 'user':6A,45B,52B,116C 'verifi':113C 'version':31B,99C 'vulner':93C 'whether':40B,173C 'wordpress':2A,22B,28B,91C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Amelia booking plugin for WordPress at version 9.9.1 or lower are exposed. The attacker must hold a logged-in account with custom-level access or above, so sites with only subscriber or customer accounts are less exposed. Sites that do not use Amelia can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["amelia","bookingplugin","medium","package","wordpress"],"campaign_type":null,"search_a":"'-104992':13A,16A '-2026':12A,15A 'amelia':1A 'authent':5A 'book':3A,10A 'cve':11A,14A 'export':8A 'plugin':4A 'user':6A 'wordpress':2A","search_b":"'9.9.1':36B 'access':57B 'amelia':17B,24B 'attende':65B 'authent':51B 'book':19B,25B,48B 'booking-plugin':18B 'check':39B 'code':74B 'coupon':73B 'csv':63B 'custom':55B 'custom-level':54B 'detail':71B 'download':61B 'email':67B 'event':77B 'export':47B 'higher':59B 'includ':35B 'level':56B 'log':43B 'logged-in':42B 'may':46B 'name':66B 'number':69B 'packag':21B 'payment':70B 'phone':68B 'plugin':20B,26B 'record':49B 'site':80B 'user':45B,52B 'version':31B 'whether':40B 'wordpress':22B,28B","search_c":"'9.9.1':104C 'access':134C 'action':122C 'address':155C 'amelia':88C 'amount':167C 'appoint':84C 'attack':129C 'attende':152C 'authent':128C 'author':95C,118C 'book':82C,143C,158C 'bypass':96C 'calendar':87C 'code':170C 'coupon':169C 'csv':141C 'custom':132C 'custom-level':131C 'due':107C 'email':154C 'event':86C,147C,180C 'export':138C 'full':140C 'includ':103C,151C 'level':133C 'make':124C 'name':153C 'number':157C,160C 'particip':177C 'payment':164C,166C 'perform':120C 'person':162C 'phone':156C 'plugin':89C,110C 'possibl':126C 'price':163C 'proper':112C 'record':144C 'regardless':171C 'site':150C 'status':159C,165C 'user':116C 'verifi':113C 'version':99C 'vulner':93C 'whether':173C 'wordpress':91C","first_public_at":"2026-11-07T10:17:06+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-104992","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104992","severity":null,"published_at":"2026-11-07T10:17:06+00:00","modified_at":"2026-11-07T10:17:06+00:00","first_seen_at":"2026-11-07T10:46:40+00:00","fetched_at":"2026-11-07T10:46:40+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}