<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>OmniFaces - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/omnifaces/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 03 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/omnifaces/feed.xml" rel="self" type="application/rss+xml"/><item><title>OmniFaces EL Injection Vulnerability via Crafted Resource Name</title><link>https://feed.craftedsignal.io/briefs/2024-01-omnifaces-el-injection/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-omnifaces-el-injection/</guid><description>A server-side EL injection vulnerability exists in OmniFaces when using CDNResourceHandler with wildcard CDN mappings, allowing attackers to inject EL expressions in resource names leading to potential remote code execution, information disclosure, or denial of service.</description><content:encoded><![CDATA[<p>The OmniFaces framework, a utility library for JavaServer Faces (JSF), is susceptible to EL (Expression Language) injection when the <code>CDNResourceHandler</code> is configured with wildcard CDN mappings. This vulnerability allows an attacker to craft a malicious resource request URL by embedding an EL expression within the resource name. This expression is then evaluated server-side, potentially leading to Remote Code Execution (RCE), information disclosure, or denial of service. The vulnerability affects OmniFaces versions before 1.14.2, versions 2.0-RC1 to 2.7.32, versions 3.0-RC1 to 3.14.16, versions 4.0-M1 to 4.7.5, and versions 5.0-M1 to 5.2.2. Applications that only use explicit resource-to-URL mappings are not affected.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies an OmniFaces application utilizing <code>CDNResourceHandler</code> with a wildcard CDN mapping (e.g., <code>libraryName:*=https://cdn.example.com/*</code>).</li>
<li>The attacker crafts a malicious HTTP request targeting a resource served through the CDN.</li>
<li>The crafted request includes an EL expression embedded within the resource name part of the URL, such as <code>/javax.faces.resource/el_injection_${{...}}.js.xhtml?ln=libraryName</code>.</li>
<li>The <code>CDNResourceHandler</code> processes the request and extracts the resource name.</li>
<li>Due to the wildcard mapping, the handler attempts to resolve the resource location based on the provided name.</li>
<li>The EL expression within the resource name is inadvertently evaluated by the server's EL engine.</li>
<li>Depending on the EL implementation and accessible objects, the attacker can execute arbitrary code, access sensitive information, or trigger a denial-of-service condition.</li>
<li>The server responds to the attacker with the results of the EL expression evaluation (in case of information disclosure) or the effects of the executed code (in case of RCE).</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability can have severe consequences. In the worst-case scenario, attackers can achieve Remote Code Execution (RCE), allowing them to gain complete control over the affected server. This control enables them to install malware, steal sensitive data, or disrupt services. Even without RCE, attackers can exploit the EL injection to disclose sensitive information or cause a denial of service by exhausting server resources. The impact varies based on the specific EL implementation and the objects available within the EL context, but any application using wildcard CDN mappings in vulnerable OmniFaces versions is at risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to the patched OmniFaces versions: 5.2.3, 4.7.5, 3.14.16, 2.7.32, and 1.14.2 to remediate the EL injection vulnerability as documented in the <a href="https://github.com/advisories/GHSA-vp6r-9m58-5xv8">GHSA advisory</a>.</li>
<li>Replace wildcard CDN mappings with explicit resource-to-URL mappings as a workaround if upgrading is not immediately feasible, as described in the <a href="https://github.com/advisories/GHSA-vp6r-9m58-5xv8">GHSA advisory</a>.</li>
<li>Implement a web application firewall (WAF) rule to detect and block requests containing suspicious EL expressions in the resource name part of the URL. Use the Sigma rule <code>OmniFaces EL Injection Attempt</code> as a starting point.</li>
<li>Monitor web server logs for unusual patterns in resource requests, specifically those containing EL-like syntax (e.g., <code>${...}</code>) in the URI query, as a general indicator of potential exploitation attempts and as covered by the Sigma rule <code>OmniFaces EL Injection URI</code>.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>omnifaces</category><category>el-injection</category><category>rce</category><category>cdn</category></item></channel></rss>