LibTomCrypt fino a 1.18.2 UTF-8 der_decode_utf8_string.c der_decode_utf8_string rivelazione di informazioni
| CVSS Punteggio meta temporaneo | Prezzo attuale dell'exploit (≈) | Punteggio di interesse CTI |
|---|---|---|
| 7.8 | $0-$5k | 0.00 |
Riassunto
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.
Dettagli
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.
Prodotto
Nome
Versione
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vettore: 🔍VulDB Affidabilità: 🔍
CVSSv3
VulDB Punteggio meta-base: 8.2VulDB 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: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vettore | Complessità | Autenticazione | Riservatezza | Integrità | Disponibilità |
|---|---|---|---|---|---|
| Sbloccare | Sbloccare | Sbloccare | Sbloccare | Sbloccare | Sbloccare |
| Sbloccare | Sbloccare | Sbloccare | Sbloccare | Sbloccare | Sbloccare |
| Sbloccare | Sbloccare | Sbloccare | Sbloccare | Sbloccare | Sbloccare |
VulDB Punteggio di base: 🔍
VulDB Punteggio temporaneo: 🔍
VulDB Affidabilità: 🔍
NVD Punteggio di base: 🔍
Sfruttamento
Classe: Rivelazione di informazioniCWE: 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-Day | Sbloccare | Sbloccare | Sbloccare | Sbloccare |
|---|---|---|---|---|
| Oggi | Sbloccare | Sbloccare | Sbloccare | Sbloccare |
Intelligence sulle minacce
Interesse: 🔍Attori attivi: 🔍
Gruppi APT attivi: 🔍
Contromisure
Raccomandazione: PatchStato: 🔍
Tempo 0 giorni: 🔍
Tempo di ritardo sfruttamento: 🔍
Patch: github.com
Sequenza temporale
03/10/2019 🔍03/10/2019 🔍
08/10/2019 🔍
09/10/2019 🔍
03/01/2024 🔍
Fonti
Avis: 507Ricercatore: 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
Voce
Data di creazione: 08/10/2019 15:47Aggiornato: 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
Invia
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.
Ancora nessun commento. Lingue: it + ro + en.
Effettua il login per commentare.