<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Commons Text (1.5-1.9) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/commons-text-1.5-1.9/</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, 23 Sep 2026 17:57:29 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/commons-text-1.5-1.9/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Critical Remote Code Execution in Apache Commons Text (CVE-2022-42889)</title><link>https://feed.craftedsignal.io/briefs/2026-09-text4shell/</link><pubDate>Wed, 23 Sep 2026 17:57:29 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-text4shell/</guid><description>CVE-2022-42889, or Text4Shell, is a critical remote code execution vulnerability in Apache Commons Text versions 1.5-1.9 that allows attackers to execute arbitrary code via malicious string lookups.</description><content:encoded><![CDATA[<p>CVE-2022-42889, widely known as Text4Shell, is a remote code execution (RCE) vulnerability affecting Apache Commons Text versions 1.5 through 1.9. The vulnerability arises from the default behavior of the 'StringSubstitutor' interpolator object, which uses the 'StringLookupFactory' to perform string lookups. When an application passes unsanitized user-supplied input to the 'StringSubstitutor.replace()' or 'replaceIn()' methods, an attacker can provide a specially crafted string using the '${prefix:name}' syntax.</p>
<p>If the application is running on an environment that supports specific lookups, such as 'script', 'dns', or 'url', an attacker can trigger arbitrary command execution or unauthorized network requests. While modern JDK versions have removed the Nashorn JavaScript engine, the vulnerability remains exploitable in environments where third-party script engines like JEXL are present in the classpath. Defenders should treat this as a high-priority risk for any Java-based applications utilizing these affected versions of the Apache Commons Text library.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a web application utilizing Apache Commons Text (v1.5-1.9) that passes user input to 'StringSubstitutor.replace()'.</li>
<li>Attacker crafts a malicious payload using interpolation syntax, for example: '${script:javascript:java.lang.Runtime.getRuntime().exec('command')}'.</li>
<li>Attacker delivers the payload through a common web vector, such as an HTTP GET query parameter (e.g., '?data=${payload}') or a POST request body.</li>
<li>The vulnerable application receives the request and passes the malicious string to the 'StringSubstitutor' interpolation engine.</li>
<li>The library processes the '${script:...}' prefix, triggering the underlying scripting engine (Nashorn or JEXL).</li>
<li>The scripting engine executes the injected command with the privileges of the web application server process.</li>
<li>If successful, the attacker gains RCE, enabling lateral movement, data exfiltration, or further malware deployment.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for unauthenticated remote code execution, granting the attacker full control over the vulnerable server process. This vulnerability affects any enterprise Java ecosystem using the vulnerable versions of Apache Commons Text. Given the ubiquitous nature of this library, the potential scope includes a broad range of web applications, middleware, and backend services, leading to potential complete system compromise and data breach.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade Apache Commons Text to version 1.10.0 or later immediately to eliminate the vulnerable interpolation behavior.</li>
<li>Deploy Web Application Firewall (WAF) rules to inspect incoming HTTP requests for suspicious patterns containing '${' followed by 'script:', 'dns:', or 'url:' prefixes.</li>
<li>Perform a dependency scan across all enterprise Java applications to identify and remediate instances of 'commons-text' versions 1.5-1.9 using SCA (Software Composition Analysis) tools.</li>
<li>Monitor application logs for unexpected system calls originating from the Java runtime process, particularly those invoking command shells like 'bash', 'sh', or 'cmd.exe'.</li>
<li>In environments where upgrading is not immediately feasible, implement strict input validation to prevent user-supplied data from reaching string interpolation methods.</li>
</ol>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>remote-code-execution</category><category>java</category><category>apache</category></item></channel></rss>