OpenSSL 1.0.1s/1.0.2g ASN.1 BIO crypto/asn1/a_d2i_fp.c d2i_CMS_bio Denial of Service
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 8.5 | $0-$5k | 0.00 |
Zusammenfassung
Eine Schwachstelle wurde in OpenSSL 1.0.1s/1.0.2g entdeckt. Sie wurde als problematisch eingestuft. Betroffen hiervon ist die Funktion d2i_CMS_bio der Datei crypto/asn1/a_d2i_fp.c der Komponente ASN.1 BIO. Dank Manipulation mit unbekannten Daten kann eine Denial of Service-Schwachstelle ausgenutzt werden.
Diese Schwachstelle trägt die Bezeichnung CVE-2016-2109. Der Angriff kann remote ausgeführt werden. Es gibt keinen verfügbaren Exploit.
Die Aktualisierung der betroffenen Komponente wird empfohlen.
Details
Eine kritische Schwachstelle wurde in OpenSSL 1.0.1s/1.0.2g (Network Encryption Software) ausgemacht. Betroffen davon ist die Funktion d2i_CMS_bio der Datei crypto/asn1/a_d2i_fp.c der Komponente ASN.1 BIO. Durch Beeinflussen mit einer unbekannten Eingabe kann eine Denial of Service-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-399. Dies wirkt sich aus auf die Verfügbarkeit. CVE fasst zusammen:
The asn1_d2i_read_bio function in crypto/asn1/a_d2i_fp.c in the ASN.1 BIO implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h allows remote attackers to cause a denial of service (memory consumption) via a short invalid encoding.Die Schwachstelle wurde am 03.05.2016 durch Brian Carpenter von Oracle als 20160503.txt in Form eines bestätigten Advisories (Website) veröffentlicht. Auf openssl.org kann das Advisory eingesehen werden. Die Herausgabe geschah hierbei in Zusammenarbeit mit dem Hersteller. Die Identifikation der Schwachstelle findet seit dem 29.01.2016 als CVE-2016-2109 statt. Der Angriff kann über das Netzwerk passieren. Das Ausnutzen erfordert keine spezifische Authentisierung. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Der folgende Code ist für dieses Problem verantwortlich:
if (!BUF_MEM_grow_clean(b, len + want)) {
ASN1err(ASN1_F_ASN1_D2I_READ_BIO, ERR_R_MALLOC_FAILURE);
goto err;
}
while (want > 0) {
i = BIO_read(in, &(b->data[len]), want);
if (i <= 0) {
ASN1err(ASN1_F_ASN1_D2I_READ_BIO,
ASN1_R_NOT_ENOUGH_DATA);
goto err;
}
len += i;
want -= i;
} Das Advisory weist darauf hin:When ASN.1 data is read from a BIO using functions such as d2i_CMS_bio() a short invalid encoding can casuse allocation of large amounts of memory potentially consuming excessive resources or exhausting memory.Dabei muss 29 Tage als nicht veröffentlichte Zero-Day Schwachstelle ausgegangen werden. Während dieser Zeit erzielte er wohl etwa $5k-$25k 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.
Ein Upgrade auf die Version 1.0.1t oder 1.0.2h vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen eines Patches beheben. Dieser kann von git.openssl.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen. Das Erscheinen einer Gegenmassnahme geschah direkt nach der Veröffentlichung der Schwachstelle. Die Entwickler haben entsprechend sofort reagiert. Die Schwachstelle wird durch folgenden Code angegangen:
size_t chunk_max = ASN1_CHUNK_INITIAL_SIZE;
while (want > 0) {
size_t chunk = want > chunk_max ? chunk_max : want;
if (!BUF_MEM_grow_clean(b, len + chunk)) {
ASN1err(ASN1_F_ASN1_D2I_READ_BIO, ERR_R_MALLOC_FAILURE);
goto err;
}
want -= chunk;
while (chunk > 0) {
i = BIO_read(in, &(b->data[len]), chunk);
if (i <= 0) {
ASN1err(ASN1_F_ASN1_D2I_READ_BIO,
ASN1_R_NOT_ENOUGH_DATA);
goto err;
}
len += i;
chunk -= i;
}
if (chunk_max < INT_MAX/2)
chunk_max *= 2;
} Das Advisory stellt fest:The memory based functions such as d2i_X509() are *not* affected. Since the memory based functions are used by the TLS library, TLS applications are not affected.Unter anderem wird der Fehler auch in den Datenbanken von Tenable (91033) und SecurityFocus (BID 91787†) dokumentiert. Unter tools.cisco.com werden zusätzliche Informationen bereitgestellt. Die Schwachstellen VDB-76354, VDB-78584, VDB-78603 und VDB-78601 sind ähnlich. If you want to get best quality of vulnerability data, you may have to visit VulDB.
Produkt
Typ
Name
Version
Lizenz
Support
- end of life (old version)
Webseite
- Produkt: https://www.openssl.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 8.7VulDB 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: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 🔍
Exploiting
Klasse: Denial of ServiceCWE: CWE-399 / CWE-404
CAPEC: 🔍
ATT&CK: 🔍
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔍
Status: Nicht definiert
EPSS Score: 🔍
EPSS Percentile: 🔍
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
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 Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
Reaktionszeit: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Upgrade: OpenSSL 1.0.1t/1.0.2h
Patch: c62981390d6cf9e3d612c489b8b77c2913b25807
Timeline
29.01.2016 🔍04.04.2016 🔍
03.05.2016 🔍
03.05.2016 🔍
04.05.2016 🔍
04.05.2016 🔍
11.05.2016 🔍
15.07.2016 🔍
28.07.2022 🔍
Quellen
Produkt: openssl.orgAdvisory: 20160503.txt
Person: Brian Carpenter
Firma: Oracle
Status: Bestätigt
Bestätigung: 🔍
Koordiniert: 🔍
CVE: CVE-2016-2109 (🔍)
GCVE (CVE): GCVE-0-2016-2109
GCVE (VulDB): GCVE-100-83258
OVAL: 🔍
SecurityFocus: 91787 - Oracle July 2016 Critical Patch Update Multiple Vulnerabilities
SecurityTracker: 1035721
Diverses: 🔍
Siehe auch: 🔍
Eintrag
Erstellt: 04.05.2016 11:34Aktualisierung: 28.07.2022 08:05
Anpassungen: 04.05.2016 11:34 (83), 12.11.2018 08:32 (14), 28.07.2022 08:05 (4)
Komplett: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.