{"id":"CVE-2026-120659","kind":"vulnerability","aliases":["CVE-2026-120659"],"related":[],"title":"WordPress Redirection for Contact Form 7: unauthenticated users can write post meta and copy files","description":"The Redirection for Contact Form 7 plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 3.2.14 This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for unauthenticated attackers to write arbitrary post meta values to newly created lead posts and copy arbitrary server-side files with allowed MIME-type extensions into the plugin's uploads directory. Exploitation requires a published Contact Form 7 form configured with the Save Entry (Save Lead) action enabled on the target site.","summary":"The Redirection for Contact Form 7 WordPress plugin does not check authorization on some actions, so an unauthenticated visitor can set arbitrary post meta values on new lead posts. An attacker can also copy server-side files with allowed MIME-type extensions into the plugin's uploads directory.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["contact-form-7","package","self-hosted","wordpress"],"not_affected_if":["plugin-not-installed","plugin-updated","save-lead-disabled"],"how_to_check":"- Check whether the `Redirection for Contact Form 7` plugin is installed and its version is `3.2.14` or lower in the WordPress admin plugins list.\n- Check whether a published Contact Form 7 form has the Save Entry (Save Lead) action enabled.","fix":null,"status":"open","published_at":"2026-11-06T10:16:37+00:00","first_seen_at":"2026-11-06T10:40:57+00:00","triaged_at":"2026-11-06T10:41:25+00:00","updated_at":"2026-11-06T10:41:25+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-06T10:41:25Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"WordPress Redirection for Contact Form 7: unauthenticated users can write post meta and copy files","impact":"medium","summary":"The Redirection for Contact Form 7 WordPress plugin does not check authorization on some actions, so an unauthenticated visitor can set arbitrary post meta values on new lead posts. An attacker can also copy server-side files with allowed MIME-type extensions into the plugin's uploads directory.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","contact-form-7","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"unauthenticated users write post meta and copy files into uploads","analyst_note":"Sources give no fixed version or vendor advisory; check the plugin's changelog and the Wordfence or NVD entry for a patched release.","how_to_check":"- Check whether the `Redirection for Contact Form 7` plugin is installed and its version is `3.2.14` or lower in the WordPress admin plugins list.\n- Check whether a published Contact Form 7 form has the Save Entry (Save Lead) action enabled.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","save-lead-disabled","plugin-updated"],"who_is_affected":"Sites running the Redirection for Contact Form 7 WordPress plugin at version 3.2.14 or lower, where a published Contact Form 7 form has the Save Entry (Save Lead) action enabled. Sites without the plugin, or without that action on a published form, are not exposed.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000735,"input_tokens":4324,"output_tokens":605,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-120659':18A,21A '-2026':17A,20A '3.2.14':102C '7':6A,25B,36B,86C,164C 'action':45B,120C,173C 'allow':70B,147C 'also':63B 'arbitrari':52B,130C,141C 'attack':61B,127C 'author':42B,93C,116C 'bypass':94C 'check':41B 'configur':166C 'contact':4A,23B,34B,84C,162C 'contact-form':22B 'copi':14A,64B,140C 'creat':136C 'cve':16A,19A 'directori':80B,157C 'due':105C 'enabl':174C 'entri':170C 'exploit':158C 'extens':74B,151C 'file':15A,68B,145C 'form':5A,24B,35B,85C,163C,165C 'host':29B 'includ':101C 'lead':58B,137C,172C 'make':122C 'meta':12A,54B,132C 'mime':72B,149C 'mime-typ':71B,148C 'new':57B 'newli':135C 'packag':26B 'perform':118C 'plugin':38B,77B,87C,108C,154C 'possibl':124C 'post':11A,53B,59B,131C,138C 'proper':110C 'publish':161C 'redirect':2A,32B,82C 'requir':159C 'save':169C,171C 'self':28B 'self-host':27B 'server':66B,143C 'server-sid':65B,142C 'set':51B 'side':67B,144C 'site':178C 'target':177C 'type':73B,150C 'unauthent':7A,48B,126C 'upload':79B,156C 'user':8A,114C 'valu':55B,133C 'verifi':111C 'version':97C 'visitor':49B 'vulner':91C 'wordpress':1A,30B,37B,89C 'write':10A,129C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Redirection for Contact Form 7 WordPress plugin at version 3.2.14 or lower, where a published Contact Form 7 form has the Save Entry (Save Lead) action enabled. Sites without the plugin, or without that action on a published form, are not exposed.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["contactform7","medium","package","selfhosted","wordpress"],"campaign_type":null,"search_a":"'-120659':18A,21A '-2026':17A,20A '7':6A 'contact':4A 'copi':14A 'cve':16A,19A 'file':15A 'form':5A 'meta':12A 'post':11A 'redirect':2A 'unauthent':7A 'user':8A 'wordpress':1A 'write':10A","search_b":"'7':25B,36B 'action':45B 'allow':70B 'also':63B 'arbitrari':52B 'attack':61B 'author':42B 'check':41B 'contact':23B,34B 'contact-form':22B 'copi':64B 'directori':80B 'extens':74B 'file':68B 'form':24B,35B 'host':29B 'lead':58B 'meta':54B 'mime':72B 'mime-typ':71B 'new':57B 'packag':26B 'plugin':38B,77B 'post':53B,59B 'redirect':32B 'self':28B 'self-host':27B 'server':66B 'server-sid':65B 'set':51B 'side':67B 'type':73B 'unauthent':48B 'upload':79B 'valu':55B 'visitor':49B 'wordpress':30B,37B","search_c":"'3.2.14':102C '7':86C,164C 'action':120C,173C 'allow':147C 'arbitrari':130C,141C 'attack':127C 'author':93C,116C 'bypass':94C 'configur':166C 'contact':84C,162C 'copi':140C 'creat':136C 'directori':157C 'due':105C 'enabl':174C 'entri':170C 'exploit':158C 'extens':151C 'file':145C 'form':85C,163C,165C 'includ':101C 'lead':137C,172C 'make':122C 'meta':132C 'mime':149C 'mime-typ':148C 'newli':135C 'perform':118C 'plugin':87C,108C,154C 'possibl':124C 'post':131C,138C 'proper':110C 'publish':161C 'redirect':82C 'requir':159C 'save':169C,171C 'server':143C 'server-sid':142C 'side':144C 'site':178C 'target':177C 'type':150C 'unauthent':126C 'upload':156C 'user':114C 'valu':133C 'verifi':111C 'version':97C 'vulner':91C 'wordpress':89C 'write':129C","first_public_at":"2026-11-06T10:16:37+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120659","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120659","severity":null,"published_at":"2026-11-06T10:16:37+00:00","modified_at":"2026-11-06T10:16:37+00:00","first_seen_at":"2026-11-06T10:40:57+00:00","fetched_at":"2026-11-06T10:40:57+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"}