Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-41883

CVE-2026-41883: OmniFaces EL Injection RCE Vulnerability

CVE-2026-41883 is a server-side EL injection vulnerability in OmniFaces utility library that enables remote code execution via crafted resource requests. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-41883 Overview

CVE-2026-41883 is a server-side Expression Language (EL) injection vulnerability in OmniFaces, a utility library for Jakarta Faces (formerly JSF). The flaw affects applications that use CDNResourceHandler with a wildcard CDN mapping such as libraryName:*=https://cdn.example.com/*. Attackers can craft a resource request URL containing an EL expression in the resource name. The server evaluates the expression, leading to Remote Code Execution (RCE). The issue is tracked under CWE-917: Improper Neutralization of Special Elements used in an Expression Language Statement. Patched releases are 1.14.2, 2.7.32, 3.14.16, 4.7.5, and 5.2.3.

Critical Impact

Successful exploitation grants attackers arbitrary code execution on the host application server, compromising confidentiality, integrity, and availability of the affected Java web application.

Affected Products

  • OmniFaces versions prior to 1.14.2
  • OmniFaces versions prior to 2.7.32 and 3.14.16
  • OmniFaces versions prior to 4.7.5 and 5.2.3

Discovery Timeline

  • 2026-05-08 - CVE-2026-41883 published to NVD
  • 2026-05-13 - Last updated in NVD database

Technical Details for CVE-2026-41883

Vulnerability Analysis

The vulnerability resides in OmniFaces' CDNResourceHandler, a utility that redirects Faces resource requests to a Content Delivery Network (CDN). When developers configure a wildcard mapping such as libraryName:*=https://cdn.example.com/*, the handler substitutes the resource name into the CDN URL pattern. The resource name is processed through Expression Language evaluation before being emitted. An attacker who reaches a publicly accessible Faces resource endpoint can place an EL expression inside the resource name segment. The expression evaluates within the server JVM context, granting access to managed beans, scoped variables, and reflective method invocation. From there, attackers can execute arbitrary Java code, including operating system commands through Runtime.getRuntime().exec().

Root Cause

The root cause is improper neutralization of user-controlled input passed into an Expression Language interpreter [CWE-917]. The handler treats the URL-derived resource name as trusted data and does not strip or escape ${...} or #{...} syntax before resolution. Wildcard CDN mappings broaden the attack surface because any resource name pattern is accepted.

Attack Vector

Exploitation is remote and unauthenticated. The attacker issues an HTTP GET request to the Faces resource path used by CDNResourceHandler, embedding an EL payload in the resource name. The application server evaluates the expression during resource resolution and returns the result or executes the side effect. No user interaction is required. The high attack complexity reflects the prerequisite of a vulnerable wildcard CDN mapping in the deployed configuration.

No verified proof-of-concept code is publicly available. Refer to the OmniFaces GitHub Security Advisory GHSA-vp6r-9m58-5xv8 for vendor technical details.

Detection Methods for CVE-2026-41883

Indicators of Compromise

  • HTTP requests to Faces resource paths (e.g., /javax.faces.resource/ or /jakarta.faces.resource/) containing ${, #{, or URL-encoded equivalents %23%7B and %24%7B in the resource name.
  • Unexpected outbound network connections, shell processes, or JVM child processes originating from the Java application server.
  • Java stack traces referencing CDNResourceHandler alongside ELResolver or ValueExpression evaluation errors.

Detection Strategies

  • Inspect web access logs and Web Application Firewall (WAF) telemetry for EL syntax inside Faces resource URLs.
  • Audit OmniFaces configuration files for org.omnifaces.CDN_RESOURCE_HANDLER_URLS entries that use wildcard patterns.
  • Correlate Java process spawning events (java spawning sh, bash, cmd.exe, or powershell.exe) with inbound Faces resource requests.

Monitoring Recommendations

  • Enable verbose logging on the OmniFaces resource handler and forward logs to a centralized SIEM for retention and correlation.
  • Alert on any child process creation by Java application server processes such as Tomcat, WildFly, GlassFish, or Payara.
  • Track EPSS movement for CVE-2026-41883 to prioritize remediation as exploitation likelihood evolves.

How to Mitigate CVE-2026-41883

Immediate Actions Required

  • Upgrade OmniFaces to a patched release: 1.14.2, 2.7.32, 3.14.16, 4.7.5, or 5.2.3 depending on your major version branch.
  • Inventory all applications that bundle OmniFaces and identify any using CDNResourceHandler with wildcard mappings.
  • Deploy WAF rules to block EL syntax (${, #{) in Faces resource request paths until patching is complete.

Patch Information

The OmniFaces maintainers released fixed versions 1.14.2, 2.7.32, 3.14.16, 4.7.5, and 5.2.3. Update the org.omnifaces:omnifaces dependency in your Maven or Gradle build to the appropriate patched version and redeploy the application. See the OmniFaces GitHub Security Advisory for release details.

Workarounds

  • Remove or replace wildcard CDN mappings in CDNResourceHandler configuration with explicit per-resource mappings.
  • Disable CDNResourceHandler entirely if the application does not require CDN-hosted Faces resources.
  • Restrict access to Faces resource endpoints through reverse proxy rules that reject resource names containing EL metacharacters.
bash
# Example Maven dependency update to a patched version
# Replace <version> with the patched release matching your branch
# (1.14.2, 2.7.32, 3.14.16, 4.7.5, or 5.2.3)
mvn versions:set-property -Dproperty=omnifaces.version -DnewVersion=4.7.5
mvn clean package

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.