{"id":"CVE-2026-121536","kind":"vulnerability","aliases":["CVE-2026-121536"],"related":[],"title":"WP Data Access WordPress plugin: SQL injection lets subscribers read database data","description":"The WP Data Access – App Builder for Tables, Forms, Dashboards, Charts & Maps plugin for WordPress is vulnerable to generic SQL Injection via the 'engine' parameter in all versions up to, and including, 5.5.90 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with subscriber-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This is only exploitable when an administrator has configured a Data Project page to admit a lower-privileged role, which is the plugin's documented mechanism for sharing projects with subscribers and other users.","summary":"The WP Data Access WordPress plugin does not escape the 'engine' parameter before building an SQL query, in all versions up to and including 5.5.90. An authenticated subscriber-level user can append extra SQL to existing queries and extract sensitive information from the site database.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","wordpress","wp-data-access"],"not_affected_if":["default-config","no-data-project-shared-with-subscribers"],"how_to_check":"- Check the installed plugin version in the WordPress admin Plugins screen, or with `wp plugin get wp-data-access`, and compare it with the fixed version in the product data.\n- Look for Data Projects pages configured to admit subscriber or other lower-privileged roles.","fix":null,"status":"open","published_at":"2026-11-07T07:17:04+00:00","first_seen_at":"2026-11-07T07:46:07+00:00","triaged_at":"2026-11-07T07:47:16+00:00","updated_at":"2026-11-07T07:47:16+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-07T07:47:16Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"WP Data Access WordPress plugin: SQL injection lets subscribers read database data","impact":"medium","summary":"The WP Data Access WordPress plugin does not escape the 'engine' parameter before building an SQL query, in all versions up to and including 5.5.90. An authenticated subscriber-level user can append extra SQL to existing queries and extract sensitive information from the site database.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","wp-data-access","self-hosted"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"database contents readable by an authenticated subscriber account","analyst_note":"Find the fixed plugin version and vendor advisory for CVE-2026-121536 in the WordPress plugin repository changelog.","how_to_check":"- Check the installed plugin version in the WordPress admin Plugins screen, or with `wp plugin get wp-data-access`, and compare it with the fixed version in the product data.\n- Look for Data Projects pages configured to admit subscriber or other lower-privileged roles.","plain_action":"","needs_analyst":true,"not_affected_if":["no-data-project-shared-with-subscribers","default-config"],"who_is_affected":"Only WordPress sites running WP Data Access up to and including 5.5.90 are exposed, and only when an administrator has set a Data Project page to admit a lower-privileged role such as subscriber. Sites that do not share Data Projects with subscribers are not reachable through this path. The sources do not name a fixed version.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000733,"input_tokens":4378,"output_tokens":590,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-121536':15A,18A '-2026':14A,17A '5.5.90':52B,106C 'access':3A,27B,31B,77C,137C 'addit':142C 'administr':166C 'admit':174C 'alreadi':146C 'app':78C 'append':60B,141C 'attack':132C 'authent':54B,131C 'build':41B 'builder':79C 'chart':84C 'configur':168C 'cve':13A,16A 'dashboard':83C 'data':2A,12A,26B,30B,76C,170C 'databas':11A,73B,159C 'document':185C 'due':107C 'engin':38B,97C 'escap':36B,110C 'exist':64B,123C,147C 'exploit':163C 'extra':61B 'extract':67B,154C 'form':82C 'generic':92C 'host':22B 'includ':51B,105C 'inform':69B,156C 'inject':7A,94C 'insuffici':109C 'lack':117C 'let':8A 'level':57B,136C 'lower':177C 'lower-privileg':176C 'make':127C 'map':85C 'mechan':186C 'packag':19B 'page':172C 'paramet':39B,98C,115C 'plugin':5A,33B,86C,183C 'possibl':129C 'prepar':120C 'privileg':178C 'project':171C,189C 'queri':44B,65B,125C,144C,148C 'read':10A 'role':179C 'self':21B 'self-host':20B 'sensit':68B,155C 'share':188C 'site':72B 'sql':6A,43B,62B,93C,124C,143C 'subscrib':9A,56B,135C,191C 'subscriber-level':55B,134C 'suffici':119C 'suppli':114C 'tabl':81C 'use':152C 'user':58B,113C,194C 'version':47B,101C 'via':95C 'vulner':90C 'wordpress':4A,23B,32B,88C 'wp':1A,25B,29B,75C 'wp-data-access':24B","nicknames":[],"mitigations":[],"who_affected":"Only WordPress sites running WP Data Access up to and including 5.5.90 are exposed, and only when an administrator has set a Data Project page to admit a lower-privileged role such as subscriber. Sites that do not share Data Projects with subscribers are not reachable through this path. The sources do not name a fixed version.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","package","selfhosted","wordpress","wpdataaccess"],"campaign_type":null,"search_a":"'-121536':15A,18A '-2026':14A,17A 'access':3A 'cve':13A,16A 'data':2A,12A 'databas':11A 'inject':7A 'let':8A 'plugin':5A 'read':10A 'sql':6A 'subscrib':9A 'wordpress':4A 'wp':1A","search_b":"'5.5.90':52B 'access':27B,31B 'append':60B 'authent':54B 'build':41B 'data':26B,30B 'databas':73B 'engin':38B 'escap':36B 'exist':64B 'extra':61B 'extract':67B 'host':22B 'includ':51B 'inform':69B 'level':57B 'packag':19B 'paramet':39B 'plugin':33B 'queri':44B,65B 'self':21B 'self-host':20B 'sensit':68B 'site':72B 'sql':43B,62B 'subscrib':56B 'subscriber-level':55B 'user':58B 'version':47B 'wordpress':23B,32B 'wp':25B,29B 'wp-data-access':24B","search_c":"'5.5.90':106C 'access':77C,137C 'addit':142C 'administr':166C 'admit':174C 'alreadi':146C 'app':78C 'append':141C 'attack':132C 'authent':131C 'builder':79C 'chart':84C 'configur':168C 'dashboard':83C 'data':76C,170C 'databas':159C 'document':185C 'due':107C 'engin':97C 'escap':110C 'exist':123C,147C 'exploit':163C 'extract':154C 'form':82C 'generic':92C 'includ':105C 'inform':156C 'inject':94C 'insuffici':109C 'lack':117C 'level':136C 'lower':177C 'lower-privileg':176C 'make':127C 'map':85C 'mechan':186C 'page':172C 'paramet':98C,115C 'plugin':86C,183C 'possibl':129C 'prepar':120C 'privileg':178C 'project':171C,189C 'queri':125C,144C,148C 'role':179C 'sensit':155C 'share':188C 'sql':93C,124C,143C 'subscrib':135C,191C 'subscriber-level':134C 'suffici':119C 'suppli':114C 'tabl':81C 'use':152C 'user':113C,194C 'version':101C 'via':95C 'vulner':90C 'wordpress':88C 'wp':75C","first_public_at":"2026-11-07T07:17:04+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/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-121536","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121536","severity":null,"published_at":"2026-11-07T07:17:04+00:00","modified_at":"2026-11-07T07:17:04+00:00","first_seen_at":"2026-11-07T07:46:07+00:00","fetched_at":"2026-11-07T07:46:07+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"}