VDB-83257 · CVE-2016-2106 · BID 91787

OpenSSL 1.0.1s/1.0.2g crypto/evp/evp_enc.c EVP_EncryptUpdate Remote Code Execution

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

In OpenSSL 1.0.1s/1.0.2g (Network Encryption Software) wurde eine sehr kritische Schwachstelle ausgemacht. Betroffen ist die Funktion EVP_EncryptUpdate der Datei crypto/evp/evp_enc.c. Durch das Beeinflussen mit einer unbekannten Eingabe kann eine Remote Code Execution-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-189. Dies hat Einfluss auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

Integer overflow in the EVP_EncryptUpdate function in crypto/evp/evp_enc.c in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h allows remote attackers to cause a denial of service (heap memory corruption) via a large amount of data.

Die Schwachstelle wurde am 03.05.2016 durch Guido Vranken von Oracle als 20160503.txt in Form eines bestätigten Advisories (Website) öffentlich gemacht. Bereitgestellt wird das Advisory unter openssl.org. Die Veröffentlichung passierte hierbei in Koordination mit dem Projektteam. Die Verwundbarkeit wird seit dem 29.01.2016 als CVE-2016-2106 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. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Ein Exploit zur Schwachstelle wird momentan etwa USD $0-$5k kosten (Preisberechnung vom 28.07.2022). Die Schwachstelle entsteht durch folgenden Code:

if (i + inl < bl) {
Das Advisory weist darauf hin:
An overflow can occur in the EVP_EncryptUpdate() function. If an attacker is able to supply very large amounts of input data after a previous call to EVP_EncryptUpdate() with a partial block then a length check can overflow resulting in a heap corruption.

Mindestens 61 Tage galt die Schwachstelle als nicht öffentlicher Zero-Day. Während dieser Zeit erzielte er wohl etwa $25k-$100k auf dem Schwarzmarkt. Für den Vulnerability Scanner Nessus wurde am 11.05.2016 ein Plugin mit der ID 91033 (RHEL 7 : openssl (RHSA-2016:0722)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann. Es wird der Family Red Hat Local Security Checks zugeordnet und im Kontext l ausgeführt. Der kommerzielle Vulnerability Scanner Qualys bietet das Plugin 196457 (Ubuntu Security Notification for Openssl Vulnerabilities (USN-2959-1)) zur Prüfung der Schwachstelle an. Das Advisory zeigt auf:

Following an analysis of all OpenSSL internal usage of the EVP_EncryptUpdate() function all usage is one of two forms. The first form is where the EVP_EncryptUpdate() call is known to be the first called function after an EVP_EncryptInit(), and therefore that specific call must be safe. The second form is where the length passed to EVP_EncryptUpdate() can be seen from the code to be some small value and therefore there is no possibility of an overflow. Since all instances are one of these two forms, it is believed that there can be no overflows in internal code due to this problem. It should be noted that EVP_DecryptUpdate() can call EVP_EncryptUpdate() in certain code paths. Also EVP_CipherUpdate() is a synonym for EVP_EncryptUpdate(). All instances of these calls have also been analysed too and it is believed there are no instances in internal usage where an overflow could occur.

Ein Aktualisieren auf die Version 1.0.1t oder 1.0.2h vermag dieses Problem zu lösen. Das Erscheinen einer Gegenmassnahme geschah direkt nach der Veröffentlichung der Schwachstelle. Die Entwickler haben demnach sofort gehandelt. Die Schwachstelle wird durch folgenden Code angegangen:

if (bl - i > inl) {

Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von Tenable (91033) dokumentiert. Zusätzliche Informationen finden sich unter tools.cisco.com.

Produktinfo

Typ

Name

Version

Lizenz

Support

  • end of life (old version)

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.7
VulDB Meta Temp Score: 8.5

VulDB Base Score: 9.8
VulDB Temp Score: 9.4
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 7.5
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: Remote Code Execution
CWE: CWE-189
CAPEC: 🔍
ATT&CK: 🔍

Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Status: Nicht definiert

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 91033
Nessus Name: RHEL 7 : openssl (RHSA-2016:0722)
Nessus Datei: 🔍
Nessus Risiko: 🔍
Nessus Family: 🔍
Nessus Context: 🔍

OpenVAS ID: 841567
OpenVAS Name: SuSE Update for openssl openSUSE-SU-2016:1240-1 (openssl)
OpenVAS Datei: 🔍
OpenVAS Family: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Threat Intelligenceinfo

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

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

Reaktionszeit: 🔍
0-Day Time: 🔍
Exposure Time: 🔍

Upgrade: OpenSSL 1.0.1t/1.0.2h
Patch: 3f3582139fbb259a1c3cbb0a25236500a409bf26

Timelineinfo

29.01.2016 🔍
03.03.2016 +34 Tage 🔍
03.05.2016 +61 Tage 🔍
03.05.2016 +0 Tage 🔍
04.05.2016 +1 Tage 🔍
04.05.2016 +0 Tage 🔍
11.05.2016 +7 Tage 🔍
15.07.2016 +65 Tage 🔍
28.07.2022 +2204 Tage 🔍

Quelleninfo

Produkt: openssl.org

Advisory: 20160503.txt
Person: Guido Vranken
Firma: Oracle
Status: Bestätigt
Bestätigung: 🔍
Koordiniert: 🔍

CVE: CVE-2016-2106 (🔍)
OVAL: 🔍

SecurityTracker: 1035721
SecurityFocus: 91787 - Oracle July 2016 Critical Patch Update Multiple Vulnerabilities

Diverses: 🔍

Eintraginfo

Erstellt: 04.05.2016 11:31
Aktualisierung: 28.07.2022 08:00
Anpassungen: 04.05.2016 11:31 (82), 12.11.2018 08:32 (14), 28.07.2022 08:00 (6)
Komplett: 🔍
Cache ID: 3:F48:103

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

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

Do you know our Splunk app?

Download it now for free!