Apache · Apache Commons Text · CVE-2022-42889
**Name of the Vulnerable Software and Affected Versions**
Apache Commons Text versions 1.5 through 1.9
**Description**
The issue concerns a vulnerability in Apache Commons Text that allows for variable interpolation, enabling properties to be dynamically evaluated and expanded. The standard format for interpolation is "${prefix:name}", where "prefix" is used to locate an instance of org.apache.commons.text.lookup.StringLookup that performs the interpolation. Starting with version 1.5 and continuing through 1.9, the set of default Lookup instances included interpolators that could result in arbitrary code execution or contact with remote servers. These lookups are: - "script" - execute expressions using the JVM script execution engine (javax.script) - "dns" - resolve dns records - "url" - load values from urls, including from remote servers. Applications using the interpolation defaults in the affected versions may be vulnerable to remote code execution or unintentional contact with remote servers if untrusted configuration values are used. Researchers have detected active exploitation attempts targeting this vulnerability.
**Recommendations**
To resolve the issue, users are recommended to upgrade to Apache Commons Text 1.10.0, which disables the problematic interpolators by default. As a temporary workaround, consider disabling the vulnerable `StringLookup` instances, such as "script", "dns", and "url", to minimize the risk of exploitation. Restrict access to the vulnerable `InterpolatorStringLookup` class to prevent unauthorized use. Avoid using the `StringSubstitutor` class with untrusted configuration values until the issue is resolved.