Ninja Forms 3.15.3 contains a stored cross-site scripting vulnerability in its legacy submission editor. Anonymous, non-rich-text-editor textarea input is stored and subsequently rendered without safe HTML encoding. An attacker can craft textarea content that terminates the textarea context and injects script, which executes in the WordPress administrative origin when an administrator views the affected submission through its direct URL.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This three-file repository contains a standalone Python 3 proof-of-concept/exploitation tool for CVE-2026-94504 in the WordPress Ninja Forms plugin. The only code file, cve-2026-94504-ninja-forms-stored-xss.py, uses only the Python standard library and implements cookie-aware HTTP(S), redirect handling that preserves relevant POST requests, compression decoding, optional TLS-verification bypass, target rebasing after redirects, form discovery, version fingerprinting, and payload submission. Test mode reads the public plugin readme and parses public form data to identify Ninja Forms versions at or below 3.15.3 and a non-RTE textarea, without submitting a form. Plant mode obtains the public form AJAX nonce, fills required fields, and sends an unauthenticated nf_ajax_submit request containing a textarea-escape XSS payload. The vulnerability stems from decoded textarea content being rendered into the legacy administrative submission editor without appropriate textarea escaping. The default payload shows an alert of document.domain when a privileged user views the resulting submission. README.md documents command-line usage, target conditions, output markers, and the 3.15.4 fix; LICENSE is MIT.
5 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.