OpenSSL 1.0.1s/1.0.2g ASN.1 BIO crypto/asn1/a_d2i_fp.c d2i_CMS_bio negazione del servizio

CVSS Punteggio meta temporaneoPrezzo attuale dell'exploit (≈)Punteggio di interesse CTI
8.5$0-$5k0.00

Riassuntoinformazioni

Un punto critico di livello problematico è stato rilevato in OpenSSL 1.0.1s/1.0.2g. Risulta coinvolta una funzione sconosciuta del file crypto/asn1/a_d2i_fp.c del componente ASN.1 BIO. Per causa della manipolazione di un input sconosciuto se causa una vulnerabilità di classe negazione del servizio. Questo punto di criticità è identificato come CVE-2016-2109. Dalla rete può partire l'attacco. Nessun exploit disponibile. Si suggerisce di aggiornare il componente vulnerabile.

Dettagliinformazioni

Un punto di debole di livello critico è stato rilevato in OpenSSL 1.0.1s/1.0.2g (Network Encryption Software). Da questa vulnerabilità è interessato la funzione d2i_CMS_bio del file crypto/asn1/a_d2i_fp.c del componente ASN.1 BIO. Per causa della manipolazione di un input sconosciuto conseguenza di una vulerabilità di classe negazione del servizio. Questo agisce su la disponibilità.

La vulnerabilità è stata pubblicata in data 03/05/2016 da Brian Carpenter da Oracle con identificazione 20160503.txt con un avis (Website) (confermato). L'advisory è scaricabile da openssl.org. La pubblicazione è stata coordinata con il produttore. CVE-2016-2109 è identificato come punto debole. L'attacco può essere lanciato da remoto. Nessuna autentificazione è richiesta per l'uso. Su punti deboli sono disponibli dettagli tecnici tuttavia senza metodo d'utilizzo. La ragione di questa vulnerabilità è questa parte di codice:

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;
}

Questa vulnerabilità è stata classificata come un 0-day exploit almeno per 29 giorni. Un plugin è disponibile per lo scanner Nessus, numero ID 91033 (RHEL 7 : openssl (RHSA-2016:0722)), che può aiutare a determinare l'esistenza della criticità nel sistema analizzato.

L'aggiornamento alla versione 1.0.1t o 1.0.2h elimina questa vulnerabilità. Applicando a patch è possibile eliminare il problema. Il bugfix è scaricabile da git.openssl.org. Il miglior modo suggerito per attenuare il problema è Aggiornamento. Una possibile soluzione è stata pubblicata immediatamente dopo la pubblicazione della vulnerabilità. La vulnerabilità sarà affrontata con le seguenti righe di codice:

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;
}

La vulnerabilità è documentata anche nel database Tenable (91033) e SecurityFocus (BID 91787†). If you want to get best quality of vulnerability data, you may have to visit VulDB.

Prodottoinformazioni

Genere

Nome

Versione

Licenza

Supporto

  • end of life (old version)

Sito web

CPE 2.3informazioni

CPE 2.2informazioni

CVSSv4informazioni

VulDB Vettore: 🔍
VulDB Affidabilità: 🔍

CVSSv3informazioni

VulDB Punteggio meta-base: 8.7
VulDB Punteggio meta temporaneo: 8.5

VulDB Punteggio di base: 9.8
VulDB Punteggio temporaneo: 9.4
VulDB Vettore: 🔍
VulDB Affidabilità: 🔍

NVD Punteggio di base: 7.5
NVD Vettore: 🔍

CVSSv2informazioni

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VettoreComplessitàAutenticazioneRiservatezzaIntegritàDisponibilità
SbloccareSbloccareSbloccareSbloccareSbloccareSbloccare
SbloccareSbloccareSbloccareSbloccareSbloccareSbloccare
SbloccareSbloccareSbloccareSbloccareSbloccareSbloccare

VulDB Punteggio di base: 🔍
VulDB Punteggio temporaneo: 🔍
VulDB Affidabilità: 🔍

NVD Punteggio di base: 🔍

Sfruttamentoinformazioni

Classe: Negazione del servizio
CWE: CWE-399 / CWE-404
CAPEC: 🔍
ATT&CK: 🔍

Fisico: No
Locale: No
Remoto: Si

Disponibilità: 🔍
Stato: Non definito

EPSS Score: 🔍
EPSS Percentile: 🔍

Previsione dei prezzi: 🔍
Preventivo attuale: 🔍

0-DaySbloccareSbloccareSbloccareSbloccare
OggiSbloccareSbloccareSbloccareSbloccare

Nessus ID: 91033
Nessus Nome: RHEL 7 : openssl (RHSA-2016:0722)
Nessus File: 🔍
Nessus Rischio: 🔍
Nessus Famiglia: 🔍
Nessus Context: 🔍

OpenVAS ID: 841567
OpenVAS Nome: SuSE Update for openssl openSUSE-SU-2016:1240-1 (openssl)
OpenVAS File: 🔍
OpenVAS Famiglia: 🔍

Qualys ID: 🔍
Qualys Nome: 🔍

Intelligence sulle minacceinformazioni

Interesse: 🔍
Attori attivi: 🔍
Gruppi APT attivi: 🔍

Contromisureinformazioni

Raccomandazione: Aggiornamento
Stato: 🔍

Tempo di reazione: 🔍
Tempo 0 giorni: 🔍
Tempo di esposizione: 🔍

Aggiornamento: OpenSSL 1.0.1t/1.0.2h
Patch: c62981390d6cf9e3d612c489b8b77c2913b25807

Sequenza temporaleinformazioni

29/01/2016 🔍
04/04/2016 +66 giorni 🔍
03/05/2016 +29 giorni 🔍
03/05/2016 +0 giorni 🔍
04/05/2016 +1 giorni 🔍
04/05/2016 +0 giorni 🔍
11/05/2016 +7 giorni 🔍
15/07/2016 +65 giorni 🔍
28/07/2022 +2204 giorni 🔍

Fontiinformazioni

Prodotto: openssl.org

Avis: 20160503.txt
Ricercatore: Brian Carpenter
Organizzazione: Oracle
Stato: Confermato
Conferma: 🔍
Coordinato: 🔍

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

Varie: 🔍
Vedi anche: 🔍

Voceinformazioni

Data di creazione: 04/05/2016 11:34
Aggiornato: 28/07/2022 08:05
Cambiamenti: 04/05/2016 11:34 (83), 12/11/2018 08:32 (14), 28/07/2022 08:05 (4)
Completa: 🔍
Cache ID: 216::103

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Discussione

Ancora nessun commento. Lingue: it + ro + en.

Effettua il login per commentare.

Do you want to use VulDB in your project?

Use the official API to access entries easily!