| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 8.5 | $0-$5k | 0.00 |
Summary
A vulnerability identified as critical has been detected in Dozer. This vulnerability affects unknown code of the component Type Conversion. This manipulation as part of Serialized Object causes deserialization. The identification of this vulnerability is CVE-2014-9515. It is possible to initiate the attack remotely. Furthermore, there is an exploit available.
Details
A vulnerability classified as critical was found in Dozer (affected version not known). Affected by this vulnerability is some unknown functionality of the component Type Conversion. The manipulation as part of a Serialized Object leads to a deserialization vulnerability. The CWE definition for the vulnerability is CWE-502. The product deserializes untrusted data without sufficiently verifying that the resulting data will be valid. As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:
Dozer improperly uses a reflection-based approach to type conversion, which might allow remote attackers to execute arbitrary code via a crafted serialized object.
The bug was discovered 12/05/2014. The weakness was shared 12/05/2014 by dfj as Issue #217 as confirmed bug report (GitHub Repository). The advisory is shared at github.com. The vendor cooperated in the coordination of the public release. This vulnerability is known as CVE-2014-9515 since 01/05/2015. The attack can be launched remotely. The exploitation doesn't need any form of authentication. It demands that the victim is doing some kind of user interaction. Technical details are unknown but a public exploit is available. The advisory points out:
Dozer uses a reflection-based approach to type conversion. If dozer is used to map attacker-supplied object instances, then the attacker can provide a dynamic proxy that implements an interface matching what dozer expects, but then use an event handler to execute all methods in that interface. As soon as dozer tries to execute any getter/setter methods, they'll trigger the event handler.
A public exploit has been developed by dfj in Java and been published 2 weeks after the advisory. It is possible to download the exploit at github.com. It is declared as functional. The code used by the exploit is:
Corgi c = null;
try
{
FileInputStream fileIn = new FileInputStream("proxy.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
c = (Corgi) in.readObject();
in.close();
fileIn.close();
} catch(IOException i)
{
i.printStackTrace();
return;
} catch(ClassNotFoundException cnfe)
{
System.out.println("Employee class not found");
cnfe.printStackTrace();
return;
}
// On deserialization evince will pop
Dachshund longDog = mapper.map(c, Dachshund.class); The advisory illustrates:The exploitable use case seems to be rather limited so far. There must either be an object being mapped to with a getter/setter method that matches a method in an interface on the server classpath, or a manual XML mapping that allows an attacker to force the issue.
There is no information about possible countermeasures known. It may be suggested to replace the affected object with an alternative product.
Additional details are provided at infocon.org. The entry VDB-133715 is related to this item. Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Product
Name
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.6VulDB Meta Temp Score: 8.5
VulDB Base Score: 6.3
VulDB Temp Score: 5.9
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 9.8
NVD Vector: 🔍
CNA Base Score: 9.8
CNA Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: DeserializationCWE: CWE-502 / CWE-20
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Functional
Author: dfj
Programming Language: 🔍
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: no mitigation knownStatus: 🔍
0-Day Time: 🔍
Exploit Delay Time: 🔍
Patch: github.com
Timeline
12/05/2014 🔍12/05/2014 🔍
12/14/2014 🔍
01/05/2015 🔍
12/29/2017 🔍
12/30/2017 🔍
04/24/2025 🔍
Sources
Advisory: Issue #217Researcher: dfj
Status: Confirmed
Confirmation: 🔍
Coordinated: 🔍
CVE: CVE-2014-9515 (🔍)
GCVE (CVE): GCVE-0-2014-9515
GCVE (VulDB): GCVE-100-111169
SecurityFocus: 107970
scip Labs: https://www.scip.ch/en/?labs.20161013
Misc.: 🔍
See also: 🔍
Entry
Created: 12/30/2017 10:19Updated: 04/24/2025 04:43
Changes: 12/30/2017 10:19 (71), 12/19/2019 15:54 (2), 01/28/2021 09:58 (2), 01/19/2023 14:18 (3), 07/19/2024 16:51 (27), 04/24/2025 04:43 (4)
Complete: 🔍
Cache ID: 216:275:103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
No comments yet. Languages: en.
Please log in to comment.