// For flags

CVE-2016-6814

Apache Groovy MethodClosure Deserialization of Untrusted Data Remote Code Execution Vulnerability

Severity Score

9.8
*CVSS v3

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

When an application with unsupported Codehaus versions of Groovy from 1.7.0 to 2.4.3, Apache Groovy 2.4.4 to 2.4.7 on classpath uses standard Java serialization mechanisms, e.g. to communicate between servers or to store local data, it was 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 were subject to this vulnerability.

Cuando una aplicación con versiones de Codehaus no soportadas de Groovy desde la versión 1.7.0 hasta la 2.4.3 o Apache Groovy desde la versión 2.4.4 hasta la 2.4.7 en classpath usa mecanismos estándar de serialización de Java (por ejemplo, para comunicarse entre servidores o almacenar datos locales), un atacante pudo preparar un objeto especialmente serializado que ejecutará código directamente al ser deserializado. Todas las aplicaciones que dependen de la serialización y no aíslan el código que deserializa objetos estaban sujetos a esta vulnerabilidad.

It was found that a flaw in Apache groovy library allows remote code execution wherever deserialization occurs in the application. It is possible for an attacker to craft 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.

This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Apache Groovy. Interaction with this library is required to exploit this vulnerability but attack vectors may vary depending on implementation.
The specific flaw exists within the handling of serialized MethodClosure objects. A crafted stream of bytes, when deserialized, can result in the creation of an unsafe instance of MethodClosure. An attacker can leverage this vulnerability to execute arbitrary code under the context of the current process.

*Credits: Sam Thomas of Secarma Limited
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
Partial
Integrity
Partial
Availability
Partial
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2016-08-12 CVE Reserved
  • 2017-02-15 CVE Published
  • 2024-08-18 EPSS Updated
  • 2024-09-16 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-502: Deserialization of Untrusted Data
CAPEC
References (18)
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Apache
Search vendor "Apache"
Groovy
Search vendor "Apache" for product "Groovy"
>= 1.7.0 <= 2.4.3
Search vendor "Apache" for product "Groovy" and version " >= 1.7.0 <= 2.4.3"
-
Affected
Apache
Search vendor "Apache"
Groovy
Search vendor "Apache" for product "Groovy"
>= 2.4.4 <= 2.4.7
Search vendor "Apache" for product "Groovy" and version " >= 2.4.4 <= 2.4.7"
-
Affected
Redhat
Search vendor "Redhat"
Enterprise Linux Server
Search vendor "Redhat" for product "Enterprise Linux Server"
7.0
Search vendor "Redhat" for product "Enterprise Linux Server" and version "7.0"
-
Affected