{"id":"CVE-2026-100151","kind":"vulnerability","aliases":["CVE-2026-100151"],"related":[],"title":"Ninja Forms WordPress plugin: reflected DOM cross-site scripting via URL parameter","description":"The Ninja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder plugin for WordPress is vulnerable to Reflected DOM-Based Cross-Site Scripting via 'querystring:<key>' URL Parameter in all versions up to, and including, 3.15.5 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link. This bypass is triggered when an attacker supplies a matching field:&lt;key&gt; URL parameter that causes the server to fully resolve the {field:*} placeholder, forcing the client-side else-branch to abandon the server-sanitized value and reconstruct field content from the raw query string.","summary":"The Ninja Forms WordPress plugin up to and including 3.15.5 mishandles a querystring URL parameter, so a crafted link makes the page run attacker-supplied scripts in the visitor's browser. An attacker needs the victim to open or click the link, and can then act as that user on the site.","severity":"medium","cvss":6.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ninja-forms","package","self-hosted","wordpress"],"not_affected_if":["plugin-not-installed","plugin-updated-past-3.15.5"],"how_to_check":"- Check the installed Ninja Forms version in the WordPress admin plugins list or the plugin header in `wp-content/plugins/ninja-forms/ninja-forms.php`\n- Confirm whether the installed version is `3.15.5` or earlier","fix":"- Ninja Forms: move to a version later than `3.15.5` (the sources do not name the fixed release)","status":"open","published_at":"2026-10-31T10:16:29+00:00","first_seen_at":"2026-10-31T10:34:55+00:00","triaged_at":"2026-10-31T10:36:02+00:00","updated_at":"2026-10-31T10:36:02+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-31T10:36:02Z","model":"claude-haiku-5-5","output":{"fix":"- Ninja Forms: move to a version later than `3.15.5` (the sources do not name the fixed release)","reach":"internet","title":"Ninja Forms WordPress plugin: reflected DOM cross-site scripting via URL parameter","impact":"medium","summary":"The Ninja Forms WordPress plugin up to and including 3.15.5 mishandles a querystring URL parameter, so a crafted link makes the page run attacker-supplied scripts in the visitor's browser. An attacker needs the victim to open or click the link, and can then act as that user on the site.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","ninja-forms","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker scripts run in victim's browser on the site","analyst_note":"Confirm the fixed Ninja Forms version after 3.15.5 and whether the querystring parameter behavior is default; see https://nvd.nist.gov/vuln/detail/CVE-2026-100151","how_to_check":"- Check the installed Ninja Forms version in the WordPress admin plugins list or the plugin header in `wp-content/plugins/ninja-forms/ninja-forms.php`\n- Confirm whether the installed version is `3.15.5` or earlier","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","plugin-updated-past-3.15.5"],"who_is_affected":"Sites running the Ninja Forms plugin version 3.15.5 or earlier are exposed when a form field URL parameter is reflected into a page. The exploit needs a victim to click a crafted link; sites that do not run this plugin can skip it. The sources do not say whether a non-default configuration is required.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000762,"input_tokens":4318,"output_tokens":661,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-100151':16A,19A '-2026':15A,18A '3.15.5':37B,119C 'abandon':194C 'act':74B 'action':154C 'ai':91C 'arbitrari':137C 'attack':52B,61B,134C,167C 'attacker-suppli':51B 'base':103C 'branch':192C 'browser':59B 'builder':86C,93C 'bypass':162C 'calcul':88C 'caus':176C 'click':68B,157C 'client':188C 'client-sid':187C 'contact':84C 'content':203C 'craft':45B 'cross':8A,105C 'cross-sit':7A,104C 'cve':14A,17A 'dom':6A,102C 'dom-bas':101C 'due':120C 'els':191C 'else-branch':190C 'escap':127C 'execut':143C 'field':171C,183C,202C 'forc':185C 'form':2A,22B,30B,83C,85C,92C 'fulli':180C 'host':26B 'includ':36B,118C 'inject':136C 'input':123C 'insuffici':122C 'key':172C 'link':46B,70B,160C 'make':47B,129C 'match':170C 'mishandl':38B 'need':62B 'ninja':1A,21B,29B,82C 'ninja-form':20B 'open':66B 'output':126C 'packag':23B 'page':49B,141C 'paramet':13A,42B,111C,174C 'perform':152C 'placehold':184C 'plugin':4A,32B,94C 'possibl':131C 'queri':207C 'querystr':40B,109C 'quizz':89C 'raw':206C 'reconstruct':201C 'reflect':5A,100C 'resolv':181C 'run':50B 'sanit':124C,198C 'script':10A,54B,107C,139C 'self':25B 'self-host':24B 'server':178C,197C 'server-sanit':196C 'side':189C 'signatur':90C 'site':9A,80B,106C 'string':208C 'success':147C 'suppli':53B,168C 'trick':148C 'trigger':164C 'unauthent':133C 'url':12A,41B,110C,173C 'user':77B,150C 'valu':199C 'version':114C 'via':11A,108C 'victim':64B 'visitor':57B 'vulner':98C 'web':138C 'wordpress':3A,27B,31B,96C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Ninja Forms plugin version 3.15.5 or earlier are exposed when a form field URL parameter is reflected into a page. The exploit needs a victim to click a crafted link; sites that do not run this plugin can skip it. The sources do not say whether a non-default configuration is required.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-31T10:16:29+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-100151","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-100151","severity":null,"published_at":"2026-10-31T10:16:29+00:00","modified_at":"2026-10-31T10:16:29+00:00","first_seen_at":"2026-10-31T10:34:55+00:00","fetched_at":"2026-10-31T10:34:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}