Code injection in Apache Commons Configuration
Critical severity
GitHub Reviewed
Published
Jul 7, 2022
to the GitHub Advisory Database
•
Updated Jan 31, 2023
Package
Affected versions
>= 2.4, < 2.8.0
Patched versions
2.8.0
Description
Published by the National Vulnerability Database
Jul 6, 2022
Published to the GitHub Advisory Database
Jul 7, 2022
Reviewed
Jul 7, 2022
Last updated
Jan 31, 2023
Apache Commons Configuration 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.configuration2.interpol.Lookup that performs the interpolation. Starting with version 2.4 and continuing through 2.7, 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 Configuration 2.8.0, which disables the problematic interpolators by default.
References