Apache Juneau
CVE-2026-96677
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft request with malicious markup in RQ/RH/RF/RP
-
DeliveryLure victim to open crafted link
-
ExploitValue reflected unencoded into HTML-doc chrome
-
ExecutionScript executes in victim's browser
-
ImpactSession/credential theft in app's origin
Vulnerability Assessment
| Exploitation Conditions | Not exploitable in default configurations: the advisory states default chrome does not interpolate the request-derived variables. The specific prerequisite is that the application developer has placed a request-derived Simple Variable Language variable (RQ, RH, RF, or RP) into an HTML-format HtmlDocConfig chrome field - specifically aside, header, footer, nav, head, or the no-results message. Script and style chrome fields could likewise interpolate these variables as raw text. Exploitation additionally requires victim interaction, since the attacker-controlled request value must be reflected back to a user's browser. Limiting factors: non-default opt-in configuration, the article body was already encoded (so it is unaffected), and the developer-passthrough variables W, C, and RS are out of scope of the fix. The only complete remediation per the vendor is upgrading to 9.2.1; the interim mitigation is to remove RQ, RH, RF, and RP from HtmlDocConfig chrome fields. |
| Impact | Real-world risk is low-to-moderate and clearly bounded by preconditions. The vendor (ASF) rates this 'moderate'; no CVSS vector, EPSS score, KEV listing, or PoC is present in the input, and vuln.today's decision label is 'awaiting_data' - so no signal here supports treating it as urgent, and none contradicts the moderate rating. Critically, the flaw is not present in default configurations: the advisory states default chrome does not interpolate the request-derived variables (RQ, RH, RF, RP), and exploitation requires an application developer to have placed one of those variables into an HTML-format HtmlDocConfig chrome field (aside, header, footer, nav, head, or the no-results message). This is a reflected cross-site scripting issue, so it also requires victim interaction (visiting an attacker-crafted request). No CVSS vector was supplied by NVD or the vendor (CVSS Score/Vector: N/A), so the vector below is independently assessed, not copied. Net: this is a genuine but conditional XSS affecting only opted-in configurations of a niche framework, not a high-urgency widespread-exploitation scenario. |
| Exploit ScenarioDerived | An application built on Juneau has configured an HtmlDocConfig HTML-format chrome field (e.g. header or aside) to interpolate a request-derived variable such as RQ. An attacker crafts a request whose reflected value contains markup, then lures a victim into issuing that request (e.g. via a malicious link); the value is written into the generated HTML page without encoding and executes as script in the victim's browser. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Reflected cross-site scripting in Apache Juneau's HTML-doc chrome (through 9.2.0) lets attacker-controlled request data reach a victim's browser unencoded when an application has placed a request-derived Simple Variable Language variable (RQ, RH, RF, or RP) into an HTML-format HtmlDocConfig chrome field. The vendor notes that default chrome does not interpolate those variables, so only applications that opt into that configuration are exposed, and the article body was already HTML-encoded. Users should upgrade to 9.2.1, which HTML-encodes substitutions in HTML chrome regions and leaves request variables unresolved in script and style fields; no public exploit code was identified at time of analysis.
RemediationAI
Vendor-released patch: Apache Juneau 9.2.1 (Maven org.apache.juneau, version 9.2.1, released 2026-11-03), available from https://downloads.apache.org/juneau/9.2.1/; the advisory at https://seclists.org/oss-sec/2026/q4/482 lists this issue alongside other fixes in the same release, and juneau-shaded-* and other aggregate artifacts must be upgraded too because they embed the affected modules. If upgrading is not immediately possible, the vendor's interim mitigation is to remove the request-derived variables RQ, RH, RF and RP from all HtmlDocConfig chrome fields (aside, header, footer, nav, head, and the no-results message); note this is a configuration change that removes the feature those applications use to reflect request data into the page chrome, and the vendor states that upgrading is the only complete fix. Be aware that moving to 9.2.1 also changes other defaults in the same release, including a reduced default maxInput of 1 MB (request bodies over 1 MB need a larger @Rest(maxInput)) and error responses no longer carrying internal exception detail unless renderResponseStackTraces is enabled, so applications should be regression-tested for those behaviors.
Affected ProductsAI
Apache Juneau through 9.2.0 is affected, specifically the org.apache.juneau:juneau-marshall module, which contains the HTML document serializer and SVL handling. The advisory states that the juneau-shaded-* artifacts and other aggregate artifacts embed the affected modules and are affected in the same way, so those must be upgraded to 9.2.1 as well. No CPE strings were provided in the available source data. The release and advisory details are at https://seclists.org/oss-sec/2026/q4/482 and https://juneau.apache.org/security, with the fixed distribution at https://downloads.apache.org/juneau/9.2.1/.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache Juneau is a Java marshalling/serialization and REST framework whose HTML document serializer renders Simple Variable Language (SVL) substitutions into HTML-doc chrome regions - aside, header, footer, nav, head, and the no-results message. The request-derived SVL variables RQ, RH, RF and RP return raw request data, and these chrome regions were written without HTML encoding; the article body already encoded its substitutions, so it is unaffected. Script and style chrome fields could additionally interpolate the same request variables as raw text. Because exploitation depends on a developer opting in by referencing those variables inside an HTML-format HtmlDocConfig chrome field and on a victim viewing the reflected page, the assessed vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N (scope changed, low confidentiality and integrity impact, no availability impact). No CWE identifier or CPE strings were supplied in the available sources; the underlying class is reflected cross-site scripting (improper neutralization of input during web page generation). The fix encodes substitutions in HTML chrome while deliberately excluding the developer HTML passthrough variables W, C and RS, and it stops resolving request variables in script and style fields.
Know when Java 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
Reflected XSS: remote, victim must trigger the request (UI:R), executes in the browser's context (S:C) with limited confidentiality/integrity impact; attacker needs no privileges though a non-default app config is a precondition.
Estimated by vuln.today — no official severity rating has been published for this CVE yet.
Description PRE-NVD
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
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
CVE.org
GitHub PoC
Exploit-DB