Apache Commons Text: Arbitrary Code Execution — GLSA 202301-05

A vulnerability has been discovered in Apache Commons Text which could result in arbitrary code execution.

Affected packages

dev-java/commons-text on all architectures
Affected versions < 1.10.0
Unaffected versions >= 1.10.0

Background

Apache Commons Text is a library focused on algorithms working on strings.

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. 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.

Impact

Crafted input to Apache Commons Text could trigger remote code execution.

Workaround

There is no known workaround at this time.

Resolution

All Apache Commons Text users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-java/commons-text-1.10.0"
 

References

Release date
January 11, 2023

Latest revision
January 11, 2023: 1

Severity
high

Exploitable
remote

Bugzilla entries