Dozer Type Conversion Serialized Object erweiterte Rechte

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
8.0$0-$5k0.00

In Dozer - die betroffene Version ist nicht bekannt - wurde eine kritische Schwachstelle entdeckt. Hierbei betrifft es ein unbekannter Ablauf der Komponente Type Conversion. Durch die Manipulation durch Serialized Object kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-502. Dies hat Einfluss auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

Dozer improperly uses a reflection-based approach to type conversion, which might allow remote attackers to execute arbitrary code via a crafted serialized object.

Gefunden wurde das Problem am 05.12.2014. Die Schwachstelle wurde am 05.12.2014 durch dfj als Issue #217 in Form eines bestätigten Bug Reports (GitHub Repository) öffentlich gemacht. Bereitgestellt wird das Advisory unter github.com. Die Veröffentlichung passierte hierbei in Koordination mit dem Projektteam. Die Verwundbarkeit wird seit dem 05.01.2015 als CVE-2014-9515 geführt. Die Schwachstelle ist wenig beliebt, was unter anderem auf ihre Komplexität zurückzuführen ist. Der Angriff kann über das Netzwerk angegangen werden. Um eine Ausnutzung durchzusetzen, muss keine spezifische Authentisierung umgesetzt werden. Eine Ausnutzung erfordert, dass das Opfer eine spezifische Handlung durchführt. Es sind zwar keine technische Details, jedoch ein öffentlicher Exploit zur Schwachstelle bekannt. Das Advisory weist darauf hin:

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.

Ein öffentlicher Exploit wurde durch dfj in Java programmiert und 2 Wochen nach dem Advisory veröffentlicht. Der Exploit wird unter github.com zur Verfügung gestellt. Er wird als funktional gehandelt. Der durch den Exploit genutzte Code gestaltet sich wie folgt:

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);
Das Advisory zeigt auf:
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.

Es sind keine Informationen bezüglich Gegenmassnahmen bekannt. Der Einsatz eines alternativen Produkts bietet sich im Zweifelsfall an.

Zusätzliche Informationen finden sich unter infocon.org. Von weiterem Interesse können die folgenden Einträge sein: 133715.

Produktinfo

Name

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB CVSS-B Score: 🔍
VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 8.0
VulDB Meta Temp Score: 8.0

VulDB Base Score: 6.3
VulDB Temp Score: 6.2
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 9.8
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 🔍

Exploitinginfo

Klasse: Erweiterte Rechte
CWE: CWE-502 / CWE-20
CAPEC: 🔍
ATT&CK: 🔍

Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Funktional
Autor: dfj
Programmiersprache: 🔍
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: keine Massnahme bekannt
Status: 🔍

0-Day Time: 🔍
Exploit Delay Time: 🔍

Patch: github.com

Timelineinfo

05.12.2014 🔍
05.12.2014 +0 Tage 🔍
14.12.2014 +9 Tage 🔍
05.01.2015 +22 Tage 🔍
29.12.2017 +1089 Tage 🔍
30.12.2017 +1 Tage 🔍
19.01.2023 +1846 Tage 🔍

Quelleninfo

Advisory: Issue #217
Person: dfj
Status: Bestätigt
Bestätigung: 🔍
Koordiniert: 🔍

CVE: CVE-2014-9515 (🔍)
SecurityFocus: 107970

scip Labs: https://www.scip.ch/?labs.20161013
Diverses: 🔍
Siehe auch: 🔍

Eintraginfo

Erstellt: 30.12.2017 10:19
Aktualisierung: 19.01.2023 14:18
Anpassungen: 30.12.2017 10:19 (71), 19.12.2019 15:54 (2), 28.01.2021 09:58 (2), 19.01.2023 14:18 (3)
Komplett: 🔍

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!