Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft forged deflated base64 resource ID
-
DeliverySend request to CombinedResourceHandler endpoint
-
ExploitBypass authenticity check and RESOURCE_EXCLUDES
-
ExecutionInflate unbounded output and add cache entry
-
ImpactExhaust heap or disclose Facelets source
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Requires the application to register and use OmniFaces CombinedResourceHandler (resource combining), which is an opt-in feature rather than on by every JSF deployment. Given that handler, memory exhaustion and limited Facelets/META-INF/resources source disclosure are reachable by a remote unauthenticated attacker against otherwise default configurations, because jakarta.faces.RESOURCE_EXCLUDES is not applied on this custom resolution path. The additional blind server-side fetch tail is further gated: it requires the non-default wildcard CDN mapping configuration and the omnifaces.graphic inner resource, and its destination derives only partly from the request Host header. Limiting factors: no arbitrary file read, no arbitrary-scheme/arbitrary-destination SSRF, disclosure confined to the webapp resource tree and META-INF/resources, and the whole class is unreachable if CombinedResourceHandler is not in use. |
| Impact | The input CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H, base 8.2) describes a network-reachable, low-complexity, unauthenticated flaw whose dominant impact is availability (A:H, driven by the ~770:1 decompression amplification causing heap exhaustion) with secondary low confidentiality impact (C:L, limited Facelets source disclosure). CWE-345 (insufficient verification of data authenticity) correctly captures the root cause: the server trusts a structurally valid but unsigned combined-resource ID. No EPSS score, no CISA KEV listing, and no standalone public exploit were provided, so exploitation status is 'no public exploit identified at time of analysis' - though the GHSA advisory contains detailed, reproducible proof-of-concept measurements (20,754 bytes inflating to 16,000,000 characters, ~49 MB heap delta) which materially lowers the barrier to weaponization even without published exploit code. The practical risk is moderated by a configuration dependency the raw CVSS does not reflect: exploitation requires the application to actually register and use OmniFaces CombinedResourceHandler, and the most severe SSRF-flavored tail requires the non-default wildcard CDN mapping. The vendor explicitly disclaims arbitrary file read and arbitrary-scheme/arbitrary-destination SSRF, so the 'SSRF' tag overstates a blind, deployment-dependent server-side fetch. Net assessment: a credible availability/DoS and limited-disclosure priority for JSF/Jakarta Faces applications that use OmniFaces resource combining, but not a wormable, universally-exploitable critical - absence of EPSS/KEV data means widespread active exploitation is not currently evidenced. |
| Exploit ScenarioDerived | A remote, unauthenticated attacker crafts a forged but structurally valid deflated+base64 combined-resource ID and submits it to the OmniFaces CombinedResourceHandler endpoint of a JSF application. Because the ID is never verified as server-issued and decoded output was previously unbounded, the request inflates to tens of megabytes of heap and seeds a permanent cache entry, and forged inner resource identifiers can return raw Facelets (.xhtml) source that RESOURCE_EXCLUDES would normally block. Detailed reproduction measurements exist in the GHSA advisory, but no standalone public exploit code was identified. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Memory exhaustion and limited configuration-resource disclosure affect OmniFaces (maven/org.omnifaces:omnifaces) before 1.14.3, 2.7.33, 3.14.23, 4.7.12 and 5.4.2 because CombinedResourceHandler accepts a structurally valid deflated, base64-encoded combined-resource ID without verifying the server issued it. A remote, unauthenticated attacker (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H, base 8.2) who reaches a JSF application that has opted into the resource-combining handler can inflate a forged ID with roughly 770:1 amplification (about 20 KB input expanding to ~16 million characters, ~49 MB heap delta), add unique reconstructed IDs to a process-lifetime cache with no eviction, and read Facelets source from the webapp resource tree or META-INF/resources because jakarta.faces.RESOURCE_EXCLUDES is not applied on this custom resolution path. The advisory documents in-lab reproductions of these behaviors (including a blind, deployment-dependent server-side fetch when the non-default wildcard CDN mapping and an omnifaces.graphic inner resource are in play), but this is not confirmed as actively exploited and is not listed in CISA KEV; no public exploit code was identified at time of analysis.
RemediationAI
Vendor-released patches fix this issue in OmniFaces 1.14.3, 2.7.33, 3.14.23, 4.7.12 and 5.4.2; upgrade the org.omnifaces:omnifaces dependency to the release matching your branch (references list the exact release tags, and the fixing commit is aa42da361821ddfbb85b126564e71587347d2786, with additional patch commits 59d6c5188c39418546fe500d05036645987a77d1 and a52b92461cf39d983f51ce8724fe7e6b944073e4). The underlying changes cap inflated combined-resource IDs at 64 KiB, restrict cached/reconstructed identifiers to .css and .js resources, and avoid unbounded cache insertion. If upgrading immediately is not possible, the highest-value compensating control is to stop registering CombinedResourceHandler so the forged-ID resolution path is never reachable - the trade-off is loss of the resource-combining performance feature, which in most applications is purely cosmetic/performance-oriented. Where combining must stay enabled, remove the optional wildcard CDN mapping so the blind outbound fetch tail cannot be triggered (trade-off: no CDN-offloaded combines), and place an edge filter or reverse proxy in front of the Faces endpoints that rejects path segments containing base64/deflated combined-resource IDs it did not issue and caps request-line length, accepting the risk of occasional false positives for legitimate combined resources. Note that upgrading resolves the combined-resource family only: the advisory's separately gated source-map cache growth, o:hashParam unescaped script output, and push-channel session-binding issues should be tracked and fixed per the same advisory (https://github.com/omnifaces/omnifaces/security/advisories/GHSA-fp43-vj7g-pg92). If the resource-combining feature is not in use, the affected class is unreachable; if it is in use but cannot be patched, treat the application as availability-sensitive and monitor heap usage for abnormal growth indicative of decompression amplification.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OmniFaces' CombinedResourceHandler (org.omnifaces.resourcehandler) is a JSF/Jakarta Faces opt-in feature that merges multiple stylesheets and scripts into a single response; the combined resource is addressed by an ID that is a URL-safe serialization (deflate + base64) of the underlying resource identifier set, produced by CombinedResourceInfo/Utils.unserializeURLSafe. The root cause is CWE-345 (insufficient verification of data authenticity): nothing cryptographically binds the ID to the server that minted it, so any attacker-crafted but structurally valid ID is treated as legitimate. Three concrete weaknesses follow from that root: Utils.unserializeURLSafe inflated attacker input with no output ceiling (the fix introduces MAX_UNSERIALIZED_LENGTH = 64 KiB), CombinedResourceInfo.get() cached attacker-supplied IDs in an unbounded static CACHE without confirming the identifiers were combinable (the fix adds an isCombinable() check requiring names ending in .css or .js), and the custom resolution path bypasses the container's RESOURCE_EXCLUDES filter, allowing Facelets .xhtml resources under the webapp tree or META-INF/resources to be reconstructed and disclosed. The commit aa42da361821ddfbb85b126564e71587347d2786 shows all three changes together. The advisory is explicit that the flaw does not grant arbitrary file read and does not establish arbitrary-scheme or arbitrary-destination SSRF; the blind fetch tail is bounded and partly derived from the request Host header. This is a distinct root from CVE-2026-41883 / GHSA-vp6r-9m58-5xv8, which concerned EL evaluation order in the wildcard CDN path, and it reproduces after that earlier fix; the same advisory also records separate, differently gated issues (source-map cache growth, o:hashParam script output, and session/view push-channel replay) that must be remediated independently.
Know when the next one hits your stack
- 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
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
Remote unauthenticated forged ID with no user interaction (AV:N/AC:L/PR:N/UI:N); decompression bomb yields A:H, limited Facelets source disclosure yields C:L, no integrity impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
OmniFaces is a utility library for Faces. In OmniFaces versions before 1.14.3, 2.7.33, 3.14.23, 4.7.12, and 5.4.2, CombinedResourceHandler accepts a structurally valid deflated and base64 encoded combined resource ID without verifying that the server issued it. A forged ID can cause unbounded decoded output, add unique reconstructed IDs to a process-lifetime cache, or combine resources other than stylesheets and scripts. Because jakarta.faces.RESOURCE_EXCLUDES is not applied by this custom resolution path, a forged ID can disclose Facelets source from the webapp resource tree or META-INF/resources. In a deployment configured with the wildcard CDN mapping, a forged ID that selects omnifaces.graphic can also cause a blind, deployment-dependent server-side fetch whose destination derives partly from the request Host header. The flaw does not provide arbitrary file read or establish arbitrary-scheme or arbitrary-destination SSRF. The shared authenticity failure permits memory exhaustion and limited resource disclosure. This issue is fixed in versions 1.14.3, 2.7.33, 3.14.23, 4.7.12, and 5.4.2.
Executive ViewAI
OmniFaces, a JavaServer Faces utility library, has a high-severity issue (CVSS 8.2) that can let an unauthenticated remote attacker degrade or crash affected JSF application availability and potentially expose limited application resource content in deployments that use the CombinedResourceHandler. Organizations running affected OmniFaces versions before 1.14.3, 2.7.33, 3.14.23, 4.7.12, or 5.4.2 should treat this as an availability and information-exposure risk. No public exploit identified at time of analysis, but leadership should prioritize mitigation because the attack path is remotely reachable and can accumulate process-lifetime memory pressure.
No vendor-released patch identified at time of analysis; if vendor-fixed versions 1.14.3, 2.7.33, 3.14.23, 4.7.12, or 5.4.2 are confirmed available, apply vendor patch; otherwise interim mitigations include disabling or removing CombinedResourceHandler where not required, restricting and rate-limiting access to JSF resource-combining endpoints, rejecting forged or unsigned combined-resource IDs, capping request size and cache entries, monitoring heap and cache growth, and reviewing resource tree exposure including jakarta.faces.RESOURCE_EXCLUDES on custom resolution paths.
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
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
EUVD-2026-101293
GHSA-fp43-vj7g-pg92
NVD
CVE.org
EPSS
Exploit-DB