| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 6.6 | $0-$5k | 0.00 |
Zusammenfassung
Es wurde eine Schwachstelle in OpenSSL 1.1.0 gefunden. Sie wurde als kritisch eingestuft. Es betrifft die Funktion ssl_add_clienthello_tlsext. Durch Manipulation mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Der Angriff kann remote ausgeführt werden. Ausserdem ist ein Exploit verfügbar.
Details
Eine Schwachstelle wurde in OpenSSL 1.1.0 (Network Encryption Software) ausgemacht. Sie wurde als kritisch eingestuft. Davon betroffen ist die Funktion ssl_add_clienthello_tlsext. Dank der Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-122. Auswirkungen hat dies auf Vertraulichkeit, Integrität und Verfügbarkeit.
Die Schwachstelle wurde am 13.10.2016 durch Guido Vranken in Form eines nicht definierten Mailinglist Posts (Full-Disclosure) herausgegeben. Bereitgestellt wird das Advisory unter seclists.org. Umgesetzt werden kann der Angriff über das Netzwerk. Das Ausnutzen erfordert keine spezifische Authentisierung. Es sind technische Details sowie ein öffentlicher Exploit zur Schwachstelle bekannt. Der folgende Code ist die Ursache des Problems:
if ((long)(limit - ret - 7 - extlen - idlen) < 0)
return NULL;
s2n(TLSEXT_TYPE_status_request, ret);
if (extlen + idlen > 0xFFF0)
return NULL;
s2n(extlen + idlen + 5, ret);
*(ret++) = TLSEXT_STATUSTYPE_ocsp;
s2n(idlen, ret);
for (i = 0; i < sk_OCSP_RESPID_num(s->tlsext_ocsp_ids); i++) {
/* save position of id len */
unsigned char *q = ret;
id = sk_OCSP_RESPID_value(s->tlsext_ocsp_ids, i);
/* skip over id len */
ret += 2;
itmp = i2d_OCSP_RESPID(id, &ret);
/* write id len */
s2n(itmp, q);
}
s2n(extlen, ret);
1283if (extlen > 0)
1284 i2d_X509_EXTENSIONS(s->tlsext_ocsp_exts, &ret); Das Advisory weist darauf hin:(...) if an attacker can somehow influence the ALPN list of an OpenSSL-enabled application (perhaps through another vulnerability), the attacker can write arbitrary data past OpenSSL's heap buffer.Ein öffentlicher Exploit wurde durch Guido Vranken entwickelt und direkt nach dem Advisory veröffentlicht. Der Download des Exploits kann von seclists.org geschehen. Er wird als proof-of-concept gehandelt. Der Preis als 0-Day war auf dem Schwarzmarkt etwa $25k-$100k. Der durch den Exploit genutzte Code gestaltet sich wie folgt:
openssl s_client -reconnect -status -alpn `python -c "import sys;
sys.stdout.write('x,'*4000+'x')"` Das Advisory zeigt auf:It doesn’t crash immediately after ‘ret’ crosses ‘limit’ because the buffer is over-allocated by the code in crypto/buffer/buffer.c (...) And just to be clear, you don’t need to modify the source code of the client in order to make this work. You only need to modify the server code (a separate build if you want) so it sends large tickets. Das Advisory stellt fest:
Triggering this requires that the client sets a very large ALPN list (several thousand bytes). This would be very unusual in a real-world application. For this reason OpenSSL does not treat this as a security vulnerability and I am inclined to agree with this decision.If you want to get the best quality for vulnerability data then you always have to consider 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: 7.3VulDB Meta Temp Score: 6.6
VulDB Base Score: 7.3
VulDB Temp Score: 6.6
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍
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: 🔍
Exploiting
Klasse: PufferüberlaufCWE: CWE-122 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Proof-of-Concept
Autor: Guido Vranken
Download: 🔍
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: keine Massnahme bekanntStatus: 🔍
0-Day Time: 🔍
Exploit Delay Time: 🔍
Timeline
13.10.2016 🔍13.10.2016 🔍
20.10.2016 🔍
14.12.2016 🔍
Quellen
Produkt: openssl.orgAdvisory: seclists.org
Person: Guido Vranken
Status: Nicht definiert
GCVE (VulDB): GCVE-100-93005
scip Labs: https://www.scip.ch/?labs.20161013
Eintrag
Erstellt: 20.10.2016 13:16Aktualisierung: 14.12.2016 15:54
Anpassungen: 20.10.2016 13:16 (47), 14.12.2016 15:54 (2)
Komplett: 🔍
Cache ID: 216::103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.