Skip to content

Arbitrary code execution in Apache Commons Text

Critical severity GitHub Reviewed Published Oct 13, 2022 to the GitHub Advisory Database • Updated Jan 19, 2024

Package

maven com.guicedee.services:commons-text (Maven)

Affected versions

<= 1.2.2.1-jre17

Patched versions

None
maven org.apache.commons:commons-text (Maven)
>= 1.5, < 1.10.0
1.10.0

Description

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.

References

Published by the National Vulnerability Database Oct 13, 2022
Published to the GitHub Advisory Database Oct 13, 2022
Reviewed Oct 13, 2022
Last updated Jan 19, 2024

Severity

Critical
9.8
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Weaknesses

CVE ID

CVE-2022-42889

GHSA ID

GHSA-599f-7c49-w659

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.