Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Subscriber
-
DeliverySet profile display_name to shortcode payload
-
ExploitVisit public page with vulnerable merge-tag field
-
ExecutionMerge tag passes value to do_shortcode
-
ImpactArbitrary shortcode executes (limited C/I impact)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation is NOT possible against a default install. It requires all of: (1) an administrator has created at least one Ninja Forms field whose Default Value is set to the {wp:user_display_name} merge tag; (2) that form/field is rendered on a publicly accessible page; and (3) the attacker holds at least Subscriber-level authentication to set their profile display_name to a shortcode string. The impact is further bounded by which shortcodes are actually registered on the target site. Limiting factors: authenticated Subscriber access is needed (PR:L), the specific non-default merge-tag configuration must be present, and no victim/admin interaction is required beyond the attacker visiting the page themselves - so the gating factor is the configuration, not user interaction. |
| Impact | This is a moderate-severity, low-urgency issue rather than a true emergency. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N, base 5.4) reflects authenticated (PR:L) network access with only Low confidentiality and integrity impact and no availability impact, which is consistent with abuse of do_shortcode rather than direct remote code execution. The vuln.today decision label is 'this_month' (not act_now/emergency), and there is no CISA KEV listing and no EPSS score in the input, so there is no signal of active or widespread exploitation - exploitation status is 'no public exploit identified at time of analysis' (only a Wordfence threat-intel reference and WordPress trac source/changeset links are provided, none of which is verified working exploit code). The most important caveat is that the supplied AC:L understates the real difficulty: exploitation is gated by a specific, non-default administrator configuration (a Ninja Forms field whose Default Value is the {wp:user_display_name} merge tag, rendered on a public page), so real-world exposure is much narrower than a 5.4 network-vector score suggests. Net: a real but conditional privilege/trust-boundary flaw that should be patched on a normal cycle, not treated as an under-attack critical. |
| Exploit ScenarioDerived | An administrator has configured a public Ninja Forms field with its Default Value set to the {wp:user_display_name} merge tag. A low-privileged Subscriber edits their profile to set their display name to a shortcode string, then simply loads that public page; when the merge tag renders, the plugin passes the attacker-controlled display name through do_shortcode, executing whatever shortcode the attacker supplied with the capabilities of whatever shortcodes the site has registered. No public exploit code is identified at time of analysis, only a vendor (Wordfence) advisory and WordPress trac source references. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 31, 2026
Arbitrary shortcode execution in the WordPress plugin Ninja Forms (Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder) affects every version up to and including 3.15.5: any authenticated user with Subscriber-level access can place a shortcode string in their profile display name and have it executed by do_shortcode() wherever the {wp:user_display_name} merge tag is rendered. Exploitation is not possible on a default install - an administrator must first have set a Ninja Forms field's Default Value to that merge tag and placed the form on a publicly accessible page, and the resulting impact is bounded by whichever shortcodes are registered on the target site. No public exploit has been identified at time of analysis and the issue is not in CISA KEV; the assigned priority is this_month, reflecting a moderate-severity, low-urgency configuration-dependent flaw rather than an emergency.
RemediationAI
Upstream fix available (changeset 3749135 touching includes/Display/Render.php in trunk); a tagged, released patched version is not independently confirmed from the supplied data, so confirm the fixed release on the vendor plugin page (https://wordpress.org/plugins/ninja-forms/) or the Wordfence advisory before relying on an update. Until a patched build is installed, the practical interim control follows directly from the exploitation prerequisites: audit Ninja Forms fields on publicly accessible pages and remove {wp:user_display_name} from any field Default Value, or unpublish the affected form/page; the trade-off is loss of per-user personalized default text in those fields, and any field left configured with the merge tag on a public page remains reachable by any Subscriber who can edit their own display name. Restricting who may register as a Subscriber or who may edit profile display names narrows the attack surface but changes site registration and profile workflows, so treat it as a stopgap rather than a fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a CWE-94 code injection class issue rooted in Ninja Forms' merge-tag rendering pipeline. Merge tags such as {wp:user_display_name} are resolved by the plugin's WordPress merge-tag handler (referenced source: includes/Config/MergeTagsWP.php and the base includes/Abstracts/MergeTags.php) which pulls the current user's profile display_name, and the display layer (includes/Display/Render.php) then passes the resulting value to do_shortcode(). Because the merge-tag output is not validated before shortcode parsing, a low-privileged user's stored display name is interpreted as shortcode syntax rather than literal text. The attacker controls the payload indirectly and only through a self-service profile field, and the merge-tag substitution must be reached via an administrator-configured field Default Value on a page the attacker can browse; the precise internal call path and the guard added by the upstream changeset are visible only in the referenced source, and the exact trigger internals beyond that rendering flow are not described in the available sources. Impact is not inherent code execution: it is limited to shortcodes actually registered on the target site, which is why the assessed vector carries AC:H relative to the CNA's AC:L.
Know when Wordpress Plugin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
AC:H because exploitation depends on a specific non-default admin merge-tag configuration; PR:L for required Subscriber auth; C:L/I:L for bounded shortcode execution, A:N and S:U as no availability or cross-component impact is shown.
Primary rating from Vendor (Wordfence).
CVSS VectorNVD
DescriptionNVD
The The Ninja Forms - Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 3.15.5 This is due to the software allowing users to execute an action that does not properly validate a value before running do_shortcode. This makes it possible for authenticated attackers, with subscriber-level access and above, to execute arbitrary shortcodes. Exploitation requires that an administrator has configured at least one Ninja Forms field with its Default Value set to the {wp:user_display_name} merge tag on a publicly accessible page; a Subscriber need only set their display_name to a shortcode string via their profile and then visit that page.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-114572
GHSA-wqc3-pwvg-9wvc
NVD
CVE.org
EPSS
Exploit-DB