{"id":"CVE-2026-116751","kind":"vulnerability","aliases":["CVE-2026-116751"],"related":[],"title":"Amelia Pro WordPress plugin: unauthenticated SQL injection exposes database contents","description":"The Booking for Appointments and Events Calendar – Amelia Pro plugin for WordPress is vulnerable to time-based SQL Injection via the 'tag[] (array KEYS)' parameter in all versions up to, and including, 9.9.1 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. WordPress's wp_magic_quotes escapes array values but not array keys, meaning attacker-controlled tag[] array keys reach EventRepository::getFilteredIds() completely unescaped and can be crafted to defeat the plugin's Statement::execute placeholder binder via overlapping strtr() substitution keys.","summary":"The Amelia Pro booking plugin for WordPress passes a user-supplied tag array key into a database query without proper escaping, in versions up to and including 9.9.1. An unauthenticated attacker can append SQL to existing queries and extract sensitive data from the site's database.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"ameliabooking","fixed":["9.9.2"],"affected":">= 4.0, <= 9.9.1","ecosystem":"wordpress"}],"ecosystems":[],"tags":["amelia-pro","package","self-hosted","wordpress"],"not_affected_if":["newer-version","plugin-not-installed"],"how_to_check":"- In WordPress admin under Plugins, check the Amelia / Amelia Pro version; 9.9.1 and earlier (Patchstack lists 4.0 through 9.9.1) are affected, 9.9.2 is the patched release.\n- Confirm the plugin is active; an inactive plugin is not reachable.\n- No public exploitation or PoC found as of this note.","fix":"Update Amelia Pro to 9.9.2 or later (released 04.11.2026).","status":"open","published_at":"2026-11-07T12:17:43+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","triaged_at":"2026-11-07T12:48:39+00:00","updated_at":"2026-11-07T12:51:06+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-07T12:48:39Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Amelia Pro WordPress plugin: unauthenticated SQL injection exposes database contents","impact":"medium","summary":"The Amelia Pro booking plugin for WordPress passes a user-supplied tag array key into a database query without proper escaping, in versions up to and including 9.9.1. An unauthenticated attacker can append SQL to existing queries and extract sensitive data from the site's database.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","amelia-pro","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker reads sensitive data from the site database.","analyst_note":"Confirm the first fixed version of Amelia Pro from the vendor or the WordPress plugin page; the NVD entry gives only the affected range.","how_to_check":"- Check the installed Amelia Pro plugin version in the WordPress admin under Plugins; versions up to and including `9.9.1` are affected.\n- Confirm the plugin is active on the site; an inactive plugin is not reachable.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","newer-version"],"who_is_affected":"Any WordPress site running the Amelia Pro booking plugin at version 9.9.1 or earlier is exposed, because the flaw is reachable by unauthenticated requests to the tag parameter. Sites that do not run the plugin, or run a newer version the sources do not name as fixed, should confirm their version. The sources do not state a fixed version.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000737,"input_tokens":4408,"output_tokens":593,"severity_before":"high"},"analyst_status":"done","analyst_note":"Confirm the first fixed version of Amelia Pro from the vendor or the WordPress plugin page; the NVD entry gives only the affected range.","search":"'-116751':13A,16A '-2026':12A,15A '9.9.1':54B,106C 'addit':135C 'alreadi':139C 'amelia':1A,19B,27B,80C 'amelia-pro':18B 'ameliabooking':17A 'append':59B,134C 'appoint':76C 'array':39B,96C,159C,163C,170C 'attack':57B,132C,167C 'attacker-control':166C 'base':90C 'binder':189C 'book':29B,74C 'calendar':79C 'complet':175C 'content':10A 'control':168C 'craft':180C 'cve':11A,14A 'data':67B 'databas':9A,43B,72B,152C 'defeat':182C 'due':107C 'escap':47B,110C,158C 'event':78C 'eventrepositori':173C 'execut':187C 'exist':62B,123C,140C 'expos':8A 'extract':65B,147C 'getfilteredid':174C 'host':24B 'includ':53B,105C 'inform':149C 'inject':7A,92C 'insuffici':109C 'key':40B,97C,164C,171C,194C 'lack':117C 'magic':156C 'make':127C 'mean':165C 'overlap':191C 'packag':21B 'paramet':98C,115C 'pass':33B 'placehold':188C 'plugin':4A,30B,82C,184C 'possibl':129C 'prepar':120C 'pro':2A,20B,28B,81C 'proper':46B 'queri':44B,63B,125C,137C,141C 'quot':157C 'reach':172C 'self':23B 'self-host':22B 'sensit':66B,148C 'site':70B 'sql':6A,60B,91C,124C,136C 'statement':186C 'strtr':192C 'substitut':193C 'suffici':119C 'suppli':37B,114C 'tag':38B,95C,169C 'time':89C 'time-bas':88C 'unauthent':5A,56B,131C 'unescap':176C 'use':145C 'user':36B,113C 'user-suppli':35B 'valu':160C 'version':49B,101C 'via':93C,190C 'vulner':86C 'without':45B 'wordpress':3A,25B,32B,84C,153C 'wp':155C","nicknames":[],"mitigations":[],"who_affected":"Any WordPress site running the Amelia booking plugin (Amelia Pro) at version 9.9.1 or earlier is exposed, since unauthenticated requests with a crafted tag[] array key reach the database query. Sites without the plugin, or on 9.9.2 or later, can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["ameliabooking"],"ptokens":["ameliabooking"],"labels":["ameliapro","high","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-116751':13A,16A '-2026':12A,15A 'amelia':1A 'ameliabooking':17A 'content':10A 'cve':11A,14A 'databas':9A 'expos':8A 'inject':7A 'plugin':4A 'pro':2A 'sql':6A 'unauthent':5A 'wordpress':3A","search_b":"'9.9.1':54B 'amelia':19B,27B 'amelia-pro':18B 'append':59B 'array':39B 'attack':57B 'book':29B 'data':67B 'databas':43B,72B 'escap':47B 'exist':62B 'extract':65B 'host':24B 'includ':53B 'key':40B 'packag':21B 'pass':33B 'plugin':30B 'pro':20B,28B 'proper':46B 'queri':44B,63B 'self':23B 'self-host':22B 'sensit':66B 'site':70B 'sql':60B 'suppli':37B 'tag':38B 'unauthent':56B 'user':36B 'user-suppli':35B 'version':49B 'without':45B 'wordpress':25B,32B","search_c":"'9.9.1':106C 'addit':135C 'alreadi':139C 'amelia':80C 'append':134C 'appoint':76C 'array':96C,159C,163C,170C 'attack':132C,167C 'attacker-control':166C 'base':90C 'binder':189C 'book':74C 'calendar':79C 'complet':175C 'control':168C 'craft':180C 'databas':152C 'defeat':182C 'due':107C 'escap':110C,158C 'event':78C 'eventrepositori':173C 'execut':187C 'exist':123C,140C 'extract':147C 'getfilteredid':174C 'includ':105C 'inform':149C 'inject':92C 'insuffici':109C 'key':97C,164C,171C,194C 'lack':117C 'magic':156C 'make':127C 'mean':165C 'overlap':191C 'paramet':98C,115C 'placehold':188C 'plugin':82C,184C 'possibl':129C 'prepar':120C 'pro':81C 'queri':125C,137C,141C 'quot':157C 'reach':172C 'sensit':148C 'sql':91C,124C,136C 'statement':186C 'strtr':192C 'substitut':193C 'suffici':119C 'suppli':114C 'tag':95C,169C 'time':89C 'time-bas':88C 'unauthent':131C 'unescap':176C 'use':145C 'user':113C 'valu':160C 'version':101C 'via':93C,190C 'vulner':86C 'wordpress':84C,153C 'wp':155C","first_public_at":"2026-11-07T12:17:43+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/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-116751","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116751","severity":null,"published_at":"2026-11-07T12:17:43+00:00","modified_at":"2026-11-07T12:17:43+00:00","first_seen_at":"2026-11-07T12:47:08+00:00","fetched_at":"2026-11-07T12:47:08+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-116751:2114","url":"https://wpamelia.com/documentation/changelog/","severity":null,"published_at":"2026-11-07T12:51:06+00:00","modified_at":"2026-11-07T12:51:06+00:00","first_seen_at":"2026-11-07T12:51:06+00:00","fetched_at":"2026-11-07T12:51:06+00:00","note":"Wordfence advisory (researcher leon figueira, CVSS 7.5) and Patchstack name 9.9.2 as the patched version; the vendor changelog lists 9.9.2 (04.11.2026) as a security release but does not name this CVE, so fix is not marked verified. Patchstack rates it 9.3 and expects mass exploitation; none seen yet. X not checked.","cites":["https://wpamelia.com/documentation/changelog/","https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/amelia/amelia-pro-991-unauthenticated-sql-injection-via-tag-parameter-array-keys","https://patchstack.com/database/wordpress/plugin/ameliabooking/vulnerability/wordpress-booking-for-appointments-and-events-calendar-amelia-pro-plugin-4-0-9-9-1-unauthenticated-sql-injection-vulnerability"]}],"documents":[{"id":95555,"url":"https://wpamelia.com/documentation/changelog/","title":"Amelia changelog (9.9.2, 04.11.2026)","kind":"vendor","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"fix","confidence":null,"note":null},{"id":95556,"url":"https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/amelia/amelia-pro-991-unauthenticated-sql-injection-via-tag-parameter-array-keys","title":"Wordfence: Amelia Pro <= 9.9.1 unauthenticated SQLi","kind":"advisory","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null},{"id":95557,"url":"https://patchstack.com/database/wordpress/plugin/ameliabooking/vulnerability/wordpress-booking-for-appointments-and-events-calendar-amelia-pro-plugin-4-0-9-9-1-unauthenticated-sql-injection-vulnerability","title":"Patchstack: Amelia 4.0-9.9.1 unauthenticated SQLi, patched 9.9.2","kind":"advisory","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}