{"id":"CVE-2026-120530","kind":"vulnerability","aliases":["CVE-2026-120530"],"related":[],"title":"WordPress WP Backup and Migration plugin: SQL injection exposes database data","description":"The WebToffee WP Backup and Migration plugin for WordPress is vulnerable to generic SQL Injection via the 'description' parameter in all versions up to, and including, 1.6.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 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. Successful exploitation requires an administrator to subsequently perform the plugin's ordinary local database export and restore operation on the same site, which is this plugin's primary intended function. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.","summary":"The WebToffee WP Backup and Migration plugin for WordPress, in all versions up to and including 1.6.1, fails to escape the 'description' parameter in a SQL query. An authenticated subscriber can append extra SQL queries that read sensitive data from the site's database, but only after an administrator runs the plugin's export and restore operation.","severity":"medium","cvss":5.7,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","webtoffee","wordpress","wp-backup-migration"],"not_affected_if":["plugin-not-installed","plugin-version-above-1.6.1"],"how_to_check":"- Check the installed version of the WebToffee WP Backup and Migration plugin in the WordPress admin under Plugins; versions up to and including `1.6.1` are affected.\n- Confirm whether subscriber-level accounts can be created or are open on the site.","fix":null,"status":"open","published_at":"2026-11-07T07:17:03+00:00","first_seen_at":"2026-11-07T07:46:07+00:00","triaged_at":"2026-11-07T07:47:13+00:00","updated_at":"2026-11-07T07:47:13+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T07:47:13Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"WordPress WP Backup and Migration plugin: SQL injection exposes database data","impact":"medium","summary":"The WebToffee WP Backup and Migration plugin for WordPress, in all versions up to and including 1.6.1, fails to escape the 'description' parameter in a SQL query. An authenticated subscriber can append extra SQL queries that read sensitive data from the site's database, but only after an administrator runs the plugin's export and restore operation.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","webtoffee","wp-backup-migration"],"confidence":0.7,"fix_status":"unknown","needs_auth":"yes","worst_case":"Attacker reads sensitive site database contents through injected SQL queries.","analyst_note":"","how_to_check":"- Check the installed version of the WebToffee WP Backup and Migration plugin in the WordPress admin under Plugins; versions up to and including `1.6.1` are affected.\n- Confirm whether subscriber-level accounts can be created or are open on the site.","plain_action":"","needs_analyst":false,"not_affected_if":["plugin-not-installed","plugin-version-above-1.6.1"],"who_is_affected":"Sites running the WebToffee WP Backup and Migration plugin version 1.6.1 or earlier where users with subscriber-level accounts exist. Exploitation needs an administrator to later run the plugin's export and restore on the same site, so sites without that plugin or with only trusted users can skip it.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"unknown"},"cost_usd":0.000725,"input_tokens":4383,"output_tokens":573,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-120530':14A,17A '-2026':13A,16A '1.6.1':41B,108C 'access':139C 'action':197C 'addit':144C,194C 'administr':73B,166C,200C 'alreadi':148C 'append':56B,143C 'attack':134C,202C 'authent':53B,133C 'backup':3A,23B,28B,85C 'cannot':203C 'cve':12A,15A 'data':11A,63B 'databas':10A,68B,161C,175C 'descript':46B,99C 'due':109C 'escap':44B,112C 'exist':125C,149C 'exploit':163C,193C 'export':78B,176C 'expos':9A 'extra':57B 'extract':156C 'fail':42B 'function':191C 'generic':94C 'includ':40B,107C 'inform':158C 'inject':8A,96C 'insuffici':111C 'intend':190C 'lack':119C 'level':138C 'local':174C 'make':129C 'migrat':5A,24B,30B,87C 'oper':81B,179C 'ordinari':173C 'packag':18B 'paramet':47B,100C,117C 'perform':169C 'plugin':6A,31B,76B,88C,171C,187C 'possibl':131C 'prepar':122C 'primari':189C 'queri':51B,59B,127C,146C,150C 'read':61B 'requir':164C,195C 'restor':80B,178C 'run':74B 'sensit':62B,157C 'site':66B,183C 'sql':7A,50B,58B,95C,126C,145C 'subscrib':54B,137C 'subscriber-level':136C 'subsequ':168C 'success':162C,192C 'suffici':121C 'suppli':116C 'trigger':204C 'use':154C 'user':115C 'version':36B,103C 'via':97C 'vulner':92C,206C 'webtoffe':19B,26B,83C 'wordpress':1A,20B,33B,90C 'wp':2A,22B,27B,84C 'wp-backup-migr':21B","nicknames":[],"mitigations":[],"who_affected":"Sites running the WebToffee WP Backup and Migration plugin version 1.6.1 or earlier where users with subscriber-level accounts exist. Exploitation needs an administrator to later run the plugin's export and restore on the same site, so sites without that plugin or with only trusted users can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","package","webtoffee","wordpress","wpbackupmigration"],"campaign_type":null,"search_a":"'-120530':14A,17A '-2026':13A,16A 'backup':3A 'cve':12A,15A 'data':11A 'databas':10A 'expos':9A 'inject':8A 'migrat':5A 'plugin':6A 'sql':7A 'wordpress':1A 'wp':2A","search_b":"'1.6.1':41B 'administr':73B 'append':56B 'authent':53B 'backup':23B,28B 'data':63B 'databas':68B 'descript':46B 'escap':44B 'export':78B 'extra':57B 'fail':42B 'includ':40B 'migrat':24B,30B 'oper':81B 'packag':18B 'paramet':47B 'plugin':31B,76B 'queri':51B,59B 'read':61B 'restor':80B 'run':74B 'sensit':62B 'site':66B 'sql':50B,58B 'subscrib':54B 'version':36B 'webtoffe':19B,26B 'wordpress':20B,33B 'wp':22B,27B 'wp-backup-migr':21B","search_c":"'1.6.1':108C 'access':139C 'action':197C 'addit':144C,194C 'administr':166C,200C 'alreadi':148C 'append':143C 'attack':134C,202C 'authent':133C 'backup':85C 'cannot':203C 'databas':161C,175C 'descript':99C 'due':109C 'escap':112C 'exist':125C,149C 'exploit':163C,193C 'export':176C 'extract':156C 'function':191C 'generic':94C 'includ':107C 'inform':158C 'inject':96C 'insuffici':111C 'intend':190C 'lack':119C 'level':138C 'local':174C 'make':129C 'migrat':87C 'oper':179C 'ordinari':173C 'paramet':100C,117C 'perform':169C 'plugin':88C,171C,187C 'possibl':131C 'prepar':122C 'primari':189C 'queri':127C,146C,150C 'requir':164C,195C 'restor':178C 'sensit':157C 'site':183C 'sql':95C,126C,145C 'subscrib':137C 'subscriber-level':136C 'subsequ':168C 'success':162C,192C 'suffici':121C 'suppli':116C 'trigger':204C 'use':154C 'user':115C 'version':103C 'via':97C 'vulner':92C,206C 'webtoffe':83C 'wordpress':90C 'wp':84C","first_public_at":"2026-11-07T07:17:03+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120530","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120530","severity":null,"published_at":"2026-11-07T07:17:03+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"}