RCE in Apache Commons Text

CVE-2022-42889

Apache Commons Text performs variable interpolation, allowing 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. Users are recommended to upgrade to Apache Commons Text 1.10.0, which disables the problematic interpolators by default.

Vulnerability class: RCE (Remote Code Execution)

EPSS: 0.999 (100.0th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2022-42889?
CVE-2022-42889 is a critical-severity vulnerability in Apache Commons Text, classified under Code Injection. CVSS score: 9.8/10. Published 2022-10-13.
How severe is CVE-2022-42889?
Critical severity. CVSS v3 base score is 9.8 out of 10.
Is CVE-2022-42889 known to be exploited?
155 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.