LibTomCrypt fino a 1.18.2 UTF-8 der_decode_utf8_string.c der_decode_utf8_string rivelazione di informazioni

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

Riassuntoinformazioni

In LibTomCrypt fino a 1.18.2 è stata rilevato un punto critico di livello critico. Si considera coinvolta una funzione sconosciuta nel file der_decode_utf8_string.c nel componente UTF-8 Handler. Attraverso l'influenza di un input sconosciuto per mezzo di una vulerabilità di classe rivelazione di informazioni. Questa vulnerabilità è identificata come CVE-2019-17362. Con la rete può partire l'attacco. Inoltre, è presente un exploit disponibile. Si consiglia di applicare una patch per risolvere questo problema.

Dettagliinformazioni

Una vulnerabilità di livello critico è stata rilevata in LibTomCrypt fino a 1.18.2. É interessato la funzione der_decode_utf8_string del file der_decode_utf8_string.c del componente UTF-8 Handler. La manipolazione di un input sconosciuto se causa una vulnerabilità di classe rivelazione di informazioni. Gli effetti sono noti per riservatezza, integrità e disponibilità.

La vulnerabilità è stata pubblicata in data 03/10/2019 da Luigi Coniglio (werew) con un bug report (GitHub Repository) (confermato). L'advisory è scaricabile da github.com. Questa vulnerabilità è identificata come CVE-2019-17362. Nella rete si effettua l'attacco. L'utilizzo non richiede alcuna forma di autentificazione. I dettagli tecnici e un pubblico metodo di utilizzo sono conosciuti. La ragione di questa vulnerabilità è questa parte di codice:

/* proceed to decode */
for (y = 0; x < inlen; ) {
  /* get first byte */
  tmp = in[x++];

  /* count number of bytes */
  for (z = 0; (tmp & 0x80) && (z <= 4); z++, tmp = (tmp << 1) & 0xFF);

  if (z > 4 || (x + (z - 1) > inlen)) {
	 return CRYPT_INVALID_PACKET;
  }

  /* decode, grab upper bits */
  tmp >>= z;

  /* grab remaining bytes */
  if (z > 1) { --z; }
  while (z-- != 0) {
	 if ((in[x] & 0xC0) != 0x80) {
		return CRYPT_INVALID_PACKET;
	 }
	 tmp = (tmp << 6) | ((wchar_t)in[x++] & 0x3F);
  }

  if (y < *outlen) {
	 out[y] = tmp;
  }
  y++;
}

Un metodo di utilizzo è stato sviluppato da Luigi Coniglio (werew) ed è stata pubblicata immediatamente dopo il comunicato. L'exploit è scaricabile da github.com. È stato dichiarato come prova di concetto. Il codice utilizzato dal exploit è:

char *poc1 = "\x30\x04"                  // Start DER-sequence of length 4
             "\x0c\x02\xbf\xbf"          // Start UTF8 string of actual length 2 and evaluated length 3
             "\xaa"                      // One byte padding
             "\x30\x84\xff\xff\xff\xff"; // Start DER-sequence of length 0xffffffff (will very likely cause a crash)

Applicando a patch è possibile eliminare il problema. Il bugfix è scaricabile da github.com.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Prodottoinformazioni

Nome

Versione

CPE 2.3informazioni

CPE 2.2informazioni

CVSSv4informazioni

VulDB Vettore: 🔍
VulDB Affidabilità: 🔍

CVSSv3informazioni

VulDB Punteggio meta-base: 8.2
VulDB Punteggio meta temporaneo: 7.8

VulDB Punteggio di base: 7.3
VulDB Punteggio temporaneo: 6.6
VulDB Vettore: 🔍
VulDB Affidabilità: 🔍

NVD Punteggio di base: 9.1
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: Rivelazione di informazioni
CWE: CWE-125 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍

Fisico: No
Locale: No
Remoto: Si

Disponibilità: 🔍
Accesso: Pubblico
Stato: Prova di concetto
Autore: Luigi Coniglio (werew)
Scaricare: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Previsione dei prezzi: 🔍
Preventivo attuale: 🔍

0-DaySbloccareSbloccareSbloccareSbloccare
OggiSbloccareSbloccareSbloccareSbloccare

Intelligence sulle minacceinformazioni

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

Contromisureinformazioni

Raccomandazione: Patch
Stato: 🔍

Tempo 0 giorni: 🔍
Tempo di ritardo sfruttamento: 🔍

Patch: github.com

Sequenza temporaleinformazioni

03/10/2019 🔍
03/10/2019 +0 giorni 🔍
08/10/2019 +5 giorni 🔍
09/10/2019 +1 giorni 🔍
03/01/2024 +1547 giorni 🔍

Fontiinformazioni

Avis: 507
Ricercatore: Luigi Coniglio (werew)
Stato: Confermato

CVE: CVE-2019-17362 (🔍)
GCVE (CVE): GCVE-0-2019-17362
GCVE (VulDB): GCVE-100-142995
scip Labs: https://www.scip.ch/en/?labs.20161013

Voceinformazioni

Data di creazione: 08/10/2019 15:47
Aggiornato: 03/01/2024 19:06
Cambiamenti: 08/10/2019 15:47 (66), 09/10/2019 13:55 (2), 28/09/2020 06:41 (1), 03/01/2024 18:59 (4), 03/01/2024 19:06 (1)
Completa: 🔍
Inviato: werew
Committer: werew
Cache ID: 216::103

Inviainformazioni

Accettato

  • Invia #92: Out-of-bounds read in LibTomCrypt 1.18.2 and earlier versions (di werew)

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Discussione

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

Effettua il login per commentare.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!