CVE-2015-3253: Critical severity Apache Groovy vulnerability

Published Jul 16, 2015
·
Updated

It was reported that when an application has Groovy on the classpath and that it uses standard Java serialization mechanim 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:

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(); + }

Alternatively, you should make sure to use a custom security policy file (using the standard Java security manager) or make sure that you do not rely on serialization to communicate remotely.

External References:

http://seclists.org/oss-sec/2015/q3/121

Other sources

The MethodClosure class in runtime/MethodClosure.java in Apache Groovy 1.7.0 through 2.4.3 allows remote attackers to execute arbitrary code or cause a denial of service via a crafted serialized object.

MITRE

Affected Software

123 affected componentsFixes available
redhat/Groovy<2.4.4
2.4.4
maven/org.codehaus.groovy:groovy-all>=1.7.0<=2.4.3
2.4.4
maven/org.codehaus.groovy:groovy>=1.7.0<=2.4.3
2.4.4
Apache Groovy=1.7.0
Apache Groovy=1.7.0-beta_1
Apache Groovy=1.7.0-beta_2
Apache Groovy=1.7.0-rc1
Apache Groovy=1.7.0-rc2
Apache Groovy=1.7.1
Apache Groovy=1.7.2
Apache Groovy=1.7.3
Apache Groovy=1.7.4
Apache Groovy=1.7.5
Apache Groovy=1.7.6
Apache Groovy=1.7.7
Apache Groovy=1.7.8
Apache Groovy=1.7.9
Apache Groovy=1.7.10
Apache Groovy=1.7.11
Apache Groovy=1.8.0
Apache Groovy=1.8.0-beta_1
Apache Groovy=1.8.0-beta_2
Apache Groovy=1.8.0-beta_3
Apache Groovy=1.8.0-beta_4
Apache Groovy=1.8.0-rc1
Apache Groovy=1.8.0-rc2
Apache Groovy=1.8.0-rc3
Apache Groovy=1.8.0-rc4
Apache Groovy=1.8.1
Apache Groovy=1.8.2
Apache Groovy=1.8.3
Apache Groovy=1.8.4
Apache Groovy=1.8.5
Apache Groovy=1.8.6
Apache Groovy=1.8.7
Apache Groovy=1.8.8
Apache Groovy=1.8.9
Apache Groovy=1.9.0
Apache Groovy=1.9.0-beta_1
Apache Groovy=1.9.0-beta_3
Apache Groovy=1.9.0-beta_4
Apache Groovy=2.0.0
Apache Groovy=2.0.0-beta_1
Apache Groovy=2.0.0-beta_2
Apache Groovy=2.0.0-beta_3
Apache Groovy=2.0.0-rc1
Apache Groovy=2.0.0-rc2
Apache Groovy=2.0.0-rc3
Apache Groovy=2.0.0-rc4
Apache Groovy=2.0.1
Apache Groovy=2.0.2
Apache Groovy=2.0.3
Apache Groovy=2.0.4
Apache Groovy=2.0.5
Apache Groovy=2.0.6
Apache Groovy=2.0.7
Apache Groovy=2.0.8
Apache Groovy=2.1.0
Apache Groovy=2.1.0-beta_1
Apache Groovy=2.1.0-rc1
Apache Groovy=2.1.0-rc2
Apache Groovy=2.1.0-rc3
Apache Groovy=2.1.1
Apache Groovy=2.1.2
Apache Groovy=2.1.3
Apache Groovy=2.1.4
Apache Groovy=2.1.5
Apache Groovy=2.1.6
Apache Groovy=2.1.7
Apache Groovy=2.1.8
Apache Groovy=2.1.9
Apache Groovy=2.2.0
Apache Groovy=2.2.0-beta_1
Apache Groovy=2.2.0-beta_2
Apache Groovy=2.2.0-rc1
Apache Groovy=2.2.0-rc2
Apache Groovy=2.2.0-rc3
Apache Groovy=2.2.1
Apache Groovy=2.2.2
Apache Groovy=2.3.0
Apache Groovy=2.3.0-beta_1
Apache Groovy=2.3.0-beta_2
Apache Groovy=2.3.0-rc1
Apache Groovy=2.3.0-rc2
Apache Groovy=2.3.0-rc3
Apache Groovy=2.3.1
Apache Groovy=2.3.2
Apache Groovy=2.3.3
Apache Groovy=2.3.4
Apache Groovy=2.3.5
Apache Groovy=2.3.6
Apache Groovy=2.3.7
Apache Groovy=2.3.8
Apache Groovy=2.3.9
Apache Groovy=2.3.10
Apache Groovy=2.3.11
Apache Groovy=2.4.0
Apache Groovy=2.4.0-beta_1
Apache Groovy=2.4.0-beta_2
Apache Groovy=2.4.0-beta_3
Apache Groovy=2.4.0-beta_4
Apache Groovy=2.4.0-rc1
Apache Groovy=2.4.0-rc2
Apache Groovy=2.4.1
Apache Groovy=2.4.2
Apache Groovy=2.4.3
Oracle Health Sciences Clinical Development Center=3.1.1
Oracle Health Sciences Clinical Development Center=3.1.2
Oracle Retail Order Broker Cloud Service=4.1
Oracle Retail Order Broker Cloud Service=5.1
Oracle Retail Order Broker Cloud Service=5.2
Oracle Retail Order Broker Cloud Service=15.0
Oracle Retail Service Backbone=13.0
Oracle Retail Service Backbone=13.1
Oracle Retail Service Backbone=13.2
Oracle Retail Service Backbone=14.0
Oracle Retail Service Backbone=14.1
Oracle Retail Service Backbone=15.0
Oracle Retail Store Inventory Management=13.2
Oracle Retail Store Inventory Management=14.0
Oracle Retail Store Inventory Management=14.1
Oracle WebCenter Sites=11.1.1.8.0
Oracle WebCenter Sites=12.2.1

Event History

Jul 16, 2015
Data Sourced
via Red Hat·03:39 PM
DescriptionSeverityAffected Software
Aug 13, 2015
CVE Published
via MITRE·02:00 PM
Data Sourced
via MITRE·02:00 PM
Description
May 13, 2022
Advisory Published
via GitHub·01:25 AM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2015-3253?

CVE-2015-3253 has a severity rating of high due to the potential for remote code execution and denial of service.

2

How do I fix CVE-2015-3253?

To fix CVE-2015-3253, upgrade Apache Groovy to version 2.4.4 or later.

3

What versions of Apache Groovy are affected by CVE-2015-3253?

CVE-2015-3253 affects Apache Groovy versions 1.7.0 through 2.4.3.

4

Can CVE-2015-3253 be exploited without authentication?

Yes, CVE-2015-3253 can be exploited by unauthenticated remote attackers through crafted serialized objects.

5

What is the impact of exploiting CVE-2015-3253?

Exploiting CVE-2015-3253 can allow attackers to execute arbitrary code or cause a denial of service on affected systems.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203