CVE-2026-73192 Overview
CVE-2026-73192 is a reflected cross-site scripting (XSS) vulnerability in the Apache Sling XSS library. The flaw resides in the XSSAPI.getValidHref() method used to sanitize hyperlink references before rendering them into HTML output. Apache Sling XSS versions 2.4.10 and prior fail to fully neutralize attacker-controlled input passed through this method. An attacker who can submit a crafted value to any feature that relies on getValidHref() can trigger script execution in a victim's browser. The issue is tracked as an improper neutralization of input during web page generation [CWE-79]. Apache addressed the flaw in Apache Sling XSS 2.4.12.
Critical Impact
Reflected XSS through XSSAPI.getValidHref() allows attackers to execute arbitrary JavaScript in victim browsers, enabling session theft, credential harvesting, and unauthorized actions against Apache Sling applications.
Affected Products
- Apache Sling XSS 2.4.10 and prior versions
- Apache Sling applications invoking XSSAPI.getValidHref() for URL sanitization
- Downstream frameworks and CMS platforms bundling vulnerable Apache Sling XSS releases
Discovery Timeline
- 2026-09-23 - CVE-2026-73192 published to the National Vulnerability Database (NVD)
- 2026-09-23 - Advisory distributed via the Openwall OSS Security Mailing List
- 2026-09-23 - Last updated in NVD database
Technical Details for CVE-2026-73192
Vulnerability Analysis
The Apache Sling XSS library provides encoding and validation helpers that developers use to sanitize untrusted input before it reaches the rendered response. The XSSAPI.getValidHref() method is intended to return a safe URL for use in href attributes, rejecting or neutralizing content that could execute script. In vulnerable versions, the method's neutralization logic does not fully strip or encode dangerous payloads. As a result, crafted input passed to getValidHref() can pass validation and be reflected into the HTML response unchanged.
Because the vulnerability affects a shared sanitization primitive, its blast radius spans every feature that trusts getValidHref() output. Any Apache Sling component, servlet, or template that renders a user-controlled URL through this API inherits the flaw. Exploitation requires user interaction, typically a victim clicking a link containing the malicious payload, and produces script execution in the victim's browser context.
Root Cause
The root cause is incomplete input neutralization inside the XSSAPI.getValidHref() implementation. The method's URL validation logic fails to reject or encode specific attacker-controlled character sequences that browsers subsequently interpret as executable script when rendered inside an href attribute. This is a classic [CWE-79] failure at the library layer rather than at the calling application layer.
Attack Vector
Attackers exploit CVE-2026-73192 over the network without authentication. An attacker crafts a URL parameter or form value containing a payload that survives getValidHref() sanitization. The attacker delivers the link to a target user through phishing, chat, or a compromised page. When the victim requests the vulnerable Apache Sling endpoint, the reflected payload is embedded in the response and executed by the browser under the origin of the Sling application. The scope change reflects the ability of the injected script to act against other browser-trusted contexts, including cookies, tokens, and same-origin APIs.
No verified public proof-of-concept code is available. Refer to the Apache Sling News Update and the Openwall OSS Security Mailing List advisory for further technical detail.
Detection Methods for CVE-2026-73192
Indicators of Compromise
- Web server access logs containing URL parameters with javascript:, data:, or encoded script sequences targeting endpoints that render user-supplied hyperlinks.
- HTTP responses from Apache Sling applications that reflect unmodified URL-like parameters into href attributes.
- Browser Content Security Policy (CSP) violation reports referencing inline script execution originating from Sling-rendered pages.
Detection Strategies
- Inventory all applications using Apache Sling XSS and identify calls to XSSAPI.getValidHref() through static code analysis.
- Deploy web application firewall (WAF) signatures that flag reflected script payloads and non-HTTP URI schemes in query parameters.
- Correlate outbound requests from user browsers to unusual domains immediately after visits to Sling-hosted pages, indicating possible script-driven exfiltration.
Monitoring Recommendations
- Enable verbose HTTP request and response logging on Sling endpoints that render URL parameters and forward logs to a centralized analytics platform.
- Monitor for anomalous session activity such as concurrent sessions from disparate geolocations following link-based user interactions.
- Track CSP report-uri endpoints for violations that indicate injected scripts executing in production pages.
How to Mitigate CVE-2026-73192
Immediate Actions Required
- Upgrade Apache Sling XSS to version 2.4.12 or later across all environments consuming the library.
- Identify all downstream artifacts that bundle Apache Sling XSS and confirm the transitive dependency is updated.
- Audit application code for direct or indirect callers of XSSAPI.getValidHref() and validate output handling in each caller.
Patch Information
The Apache Sling project has released Apache Sling XSS 2.4.12, which corrects the input neutralization logic in XSSAPI.getValidHref(). Consult the Apache Sling News Update for the release announcement and upgrade guidance. Rebuild and redeploy applications after refreshing dependency graphs to ensure the fixed artifact is loaded at runtime.
Workarounds
- Deploy a strict Content Security Policy that disallows inline script execution and restricts allowed script sources.
- Apply WAF rules that block URL parameters containing javascript: schemes or script-like character sequences targeting Sling endpoints.
- Where feasible, wrap calls to XSSAPI.getValidHref() with additional application-level allowlisting of expected URL schemes and hosts until the library upgrade is complete.
# Update the Apache Sling XSS dependency in Maven
mvn versions:use-dep-version \
-Dincludes=org.apache.sling:org.apache.sling.xss \
-DdepVersion=2.4.12 \
-DforceVersion=true
# Verify the resolved version
mvn dependency:tree | grep org.apache.sling.xss
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

