Summary
CVE-2026-46581 is an unauthenticated remote resource inclusion vulnerability in Eclipse Mojarra, the reference implementation of Jakarta Faces / JavaServer Faces (JSF). The DefaultFaceletFactory component does not properly sanitize or block remote URLs, allowing an attacker to make the server include and process attacker-supplied Facelets with server privileges and expose sensitive files such as WEB-INF/web.xml or /etc/passwd. It affects Eclipse Mojarra 2.3 through 5.0 and is rated High (CVSS 7.5).
Technical details
- Root cause: URL handling in
DefaultFaceletFactoryfails to sanitize or block remote/absolute URLs when resolving Facelet resources (e.g. thesrc/templateattributes ofui:include,ui:composition, andui:decorate). When a supplied path is not application-relative, it is treated as an absolute URL specification, letting an attacker-controlled URL override the intended base location. - Trigger conditions: An application that resolves a Facelet path from attacker-influenced input; no authentication is required.
- Attack vector: Network (remote). The server fetches, parses, and processes the referenced Facelet, and can also be pointed at local resources via
file:///jar:file://schemes. - Impact: Disclosure of sensitive server-side files and inclusion/processing of remote Facelet content with the privileges of the application.
- Weaknesses: CWE-22 (Path Traversal), CWE-94 (Code Injection), CWE-641 (Improper Restriction of Names for Files and Other Resources).
Affected software
- Eclipse Mojarra versions 2.3 through 5.0 (inclusive).
Severity
- CVSS v3.1 Base Score: 7.5 (High)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: Consult the Eclipse Foundation vulnerability report for CVE-2026-46581 and upgrade Eclipse Mojarra to a fixed release as published by the vendor.
- If no patch: The vendor notes there is no workaround that does not break application functionality. Where feasible, avoid resolving Facelet paths from untrusted input, and restrict outbound network access from the application server so it cannot retrieve remote Facelets.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
x-powered-byresponse header:JSF

