---
id: "CVE-2026-100151"
kind: "vulnerability"
aliases: ["CVE-2026-100151"]
title: "Ninja Forms WordPress plugin: reflected DOM cross-site scripting via URL parameter"
severity: "medium"
cvss: 6.1
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["ninja-forms", "package", "self-hosted", "wordpress"]
not_affected_if: ["plugin-not-installed", "plugin-updated-past-3.15.5"]
published_at: "2026-10-31T10:16:29+00:00"
first_seen_at: "2026-10-31T10:34:55+00:00"
updated_at: "2026-10-31T10:36:02+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-100151", "first_seen_at": "2026-10-31T10:34:55+00:00"}]
---

# Ninja Forms WordPress plugin: reflected DOM cross-site scripting via URL parameter

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.

_Summary, check and fix written by a model from the sources; labelled as such._

## 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`
- 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)

## Timeline

- 2026-10-31T10:34:55+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-100151

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
