Apache Groovy versions 1.7.0 through 2.4.3 suffer from a code execution vulnerability.
ba3362ad045e055e508294087e6389c8708ee8327d2b1bc0df1c1fa28f01120b
Severity: Important
Vendor: The Apache Software Foundation
Versions Affected:
All unsupported versions ranging from 1.7.0 to 2.4.3.
Impact
Remote execution of untrusted code, DoS
Description
When an application has Groovy on classpath and that it uses standard
Java serialization mechanims to communicate between servers, or to
store local data, it is possible for an attacker to bake a special
serialized object that will execute code directly when deserialized.
All applications which rely on serialization and do not isolate the
code which deserializes objects are subject to this vulnerability.
Mitigation
Apache Groovy 2.4.4 is the first and only supported release under the
Apache Software Foundation. It is strongly recommanded that all users
upgrade to this version. If you cannot upgrade or rely on an older,
unsupported version of Groovy, you can apply the following patch on
the MethodClosure class
(src/main/org/codehaus/groovy/runtime/MethodClosure.java):
public class MethodClosure extends Closure {
+ private Object readResolve() {
+ throw new UnsupportedOperationException();
+ }
Credit
This vulnerability was discovered by:
cpnrodzc7 working with HP's Zero Day Initiative
References
https://groovy-lang.org/security.html