{"id":"CVE-2026-120512","kind":"vulnerability","aliases":["CVE-2026-120512"],"related":[],"title":"Form Maker by 10Web WordPress plugin: stored XSS via form fields","description":"The Form Maker by 10Web – Mobile-Friendly Drag & Drop Contact Form Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'wdform_<n>_element<id> (Hidden Input field, name = user-defined, e.g. hidden_probe)' parameter in all versions up to, and including, 1.15.50 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Exploitation requires an administrator to open the Submissions screen and click the Show-on-Map link associated with the poisoned entry, at which point the attacker-controlled field_id value is echoed unescaped into a single-quoted JavaScript string in the FormMakerEditCountryinPopup popup — a step whose nonce and capability checks are automatically satisfied by the administrator's own session and the freshly minted fm_ajax_nonce embedded in the link.","summary":"The Form Maker by 10Web WordPress plugin, in versions up to and including 1.15.50, does not sanitize a hidden form field's name, so an unauthenticated attacker can store a script in a form submission. When an administrator clicks Show-on-Map on that submission, the script runs in the administrator's session.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["10web","form-maker","package","wordpress"],"not_affected_if":["plugin-not-installed"],"how_to_check":"- Check the installed version of the Form Maker by 10Web plugin in the WordPress admin Plugins screen; versions up to and including `1.15.50` are affected.\n- Look for submissions containing script tags in hidden input field names on the Form Maker Submissions screen.","fix":null,"status":"open","published_at":"2026-11-07T03:17:03+00:00","first_seen_at":"2026-11-07T03:45:33+00:00","triaged_at":"2026-11-07T03:47:48+00:00","updated_at":"2026-11-07T03:47:48+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T03:47:48Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Form Maker by 10Web WordPress plugin: stored XSS via form fields","impact":"high","summary":"The Form Maker by 10Web WordPress plugin, in versions up to and including 1.15.50, does not sanitize a hidden form field's name, so an unauthenticated attacker can store a script in a form submission. When an administrator clicks Show-on-Map on that submission, the script runs in the administrator's session.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","form-maker","10web"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"script runs in administrator session, enabling site takeover","analyst_note":"","how_to_check":"- Check the installed version of the Form Maker by 10Web plugin in the WordPress admin Plugins screen; versions up to and including `1.15.50` are affected.\n- Look for submissions containing script tags in hidden input field names on the Form Maker Submissions screen.","plain_action":"","needs_analyst":false,"not_affected_if":["plugin-not-installed"],"who_is_affected":"Sites running the Form Maker by 10Web plugin at or below 1.15.50 are exposed, because stored form data is rendered unescaped in the admin Submissions view. Exploitation needs an administrator to open a submission and click Show-on-Map, so sites with no such plugin installed can skip it.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"unknown"},"cost_usd":0.001074,"input_tokens":4481,"output_tokens":1252,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-120512':14A,17A '-2026':13A,16A '1.15.50':37B,124C '10web':4A,18B,28B,82C 'access':153C 'administr':61B,75B,160C,215C 'ajax':224C 'arbitrari':142C 'associ':174C 'attack':50B,139C,184C 'attacker-control':183C 'automat':211C 'builder':90C 'capabl':208C 'check':209C 'click':62B,167C 'contact':88C 'control':185C 'cross':99C 'cross-sit':98C 'cve':12A,15A 'defin':112C 'drag':86C 'drop':87C 'due':125C 'e.g':113C 'echo':190C 'element':105C 'embed':226C 'entri':178C 'escap':132C 'execut':149C 'exploit':157C 'field':11A,44B,108C,186C 'fm':223C 'form':1A,10A,20B,25B,43B,57B,79C,89C 'form-mak':19B 'formmakereditcountryinpopup':201C 'fresh':221C 'friend':85C 'hidden':42B,106C,114C 'id':187C 'includ':36B,123C 'inject':141C,155C 'input':107C,128C 'insuffici':127C 'javascript':197C 'link':173C,229C 'make':134C 'maker':2A,21B,26B,80C 'map':66B,172C 'mint':222C 'mobil':84C 'mobile-friend':83C 'name':46B,109C 'nonc':206C,225C 'open':162C 'output':131C 'packag':22B 'page':146C,156C 'paramet':116C 'plugin':6A,30B,91C 'point':181C 'poison':177C 'popup':202C 'possibl':136C 'probe':115C 'quot':196C 'requir':158C 'run':72B 'sanit':40B,129C 'satisfi':212C 'screen':165C 'script':54B,71B,101C,144C 'session':77B,218C 'show':64B,170C 'show-on-map':63B,169C 'singl':195C 'single-quot':194C 'site':100C 'step':204C 'store':7A,52B,97C 'string':198C 'submiss':58B,69B,164C 'unauthent':49B,138C 'unescap':191C 'user':111C,152C 'user-defin':110C 'valu':188C 'version':32B,119C 'via':9A,102C 'vulner':95C 'wdform':104C 'web':143C 'whenev':150C 'whose':205C 'wordpress':5A,23B,29B,93C 'xss':8A","nicknames":[],"mitigations":[],"who_affected":"Sites running the Form Maker by 10Web plugin at or below 1.15.50 are exposed, because stored form data is rendered unescaped in the admin Submissions view. Exploitation needs an administrator to open a submission and click Show-on-Map, so sites with no such plugin installed can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["10web","formmaker","high","package","wordpress"],"campaign_type":null,"search_a":"'-120512':14A,17A '-2026':13A,16A '10web':4A 'cve':12A,15A 'field':11A 'form':1A,10A 'maker':2A 'plugin':6A 'store':7A 'via':9A 'wordpress':5A 'xss':8A","search_b":"'1.15.50':37B '10web':18B,28B 'administr':61B,75B 'attack':50B 'click':62B 'field':44B 'form':20B,25B,43B,57B 'form-mak':19B 'hidden':42B 'includ':36B 'maker':21B,26B 'map':66B 'name':46B 'packag':22B 'plugin':30B 'run':72B 'sanit':40B 'script':54B,71B 'session':77B 'show':64B 'show-on-map':63B 'store':52B 'submiss':58B,69B 'unauthent':49B 'version':32B 'wordpress':23B,29B","search_c":"'1.15.50':124C '10web':82C 'access':153C 'administr':160C,215C 'ajax':224C 'arbitrari':142C 'associ':174C 'attack':139C,184C 'attacker-control':183C 'automat':211C 'builder':90C 'capabl':208C 'check':209C 'click':167C 'contact':88C 'control':185C 'cross':99C 'cross-sit':98C 'defin':112C 'drag':86C 'drop':87C 'due':125C 'e.g':113C 'echo':190C 'element':105C 'embed':226C 'entri':178C 'escap':132C 'execut':149C 'exploit':157C 'field':108C,186C 'fm':223C 'form':79C,89C 'formmakereditcountryinpopup':201C 'fresh':221C 'friend':85C 'hidden':106C,114C 'id':187C 'includ':123C 'inject':141C,155C 'input':107C,128C 'insuffici':127C 'javascript':197C 'link':173C,229C 'make':134C 'maker':80C 'map':172C 'mint':222C 'mobil':84C 'mobile-friend':83C 'name':109C 'nonc':206C,225C 'open':162C 'output':131C 'page':146C,156C 'paramet':116C 'plugin':91C 'point':181C 'poison':177C 'popup':202C 'possibl':136C 'probe':115C 'quot':196C 'requir':158C 'sanit':129C 'satisfi':212C 'screen':165C 'script':101C,144C 'session':218C 'show':170C 'show-on-map':169C 'singl':195C 'single-quot':194C 'site':100C 'step':204C 'store':97C 'string':198C 'submiss':164C 'unauthent':138C 'unescap':191C 'user':111C,152C 'user-defin':110C 'valu':188C 'version':119C 'via':102C 'vulner':95C 'wdform':104C 'web':143C 'whenev':150C 'whose':205C 'wordpress':93C","first_public_at":"2026-11-07T03:17:03+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120512","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120512","severity":null,"published_at":"2026-11-07T03:17:03+00:00","modified_at":"2026-11-07T03:17:03+00:00","first_seen_at":"2026-11-07T03:45:33+00:00","fetched_at":"2026-11-07T03:45:33+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"}