Skip to main content

OmniFaces EUVDEUVD-2026-101293

| CVE-2026-102695 HIGH
Insufficient Verification of Data Authenticity (CWE-345)
2026-10-14 security-advisories@github.com GHSA-fp43-vj7g-pg92
8.2
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft forged deflated base64 resource ID
  2. Delivery
    Send request to CombinedResourceHandler endpoint
  3. Exploit
    Bypass authenticity check and RESOURCE_EXCLUDES
  4. Execution
    Inflate unbounded output and add cache entry
  5. Impact
    Exhaust 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

omnifaces 4.0, < 4.7.12
omnifaces < 1.14.3
omnifaces 2.0, < 2.7.33
omnifaces 3.0, < 3.14.23
omnifaces 5.0, < 5.4.2

Affected Packages

maven org.omnifaces:omnifaces fix: 1.14.3, 2.7.33, 3.14.23, 4.7.12, 5.4.2
euvd omnifaces fix: 1.14.3, 2.7.33, 3.14.23, 4.7.12, 5.4.2

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

Vendor (github) PRIMARY 8.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
vuln.today AI 8.2 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Oct 14, 2026 - 17:18 EUVD
CVE Published
Oct 14, 2026 - 16:17 cve.org
HIGH 8.2

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
popular JSF/Jakarta Faces utility library, common but not ubiquitous in enterprise Java
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy