Informazioni sul CVE-2024-24563

Vyper array negative index vulnerability

CWE ID: CWE-129

Base Score (CVSS): N/A

CVE: CVE-2024-24563

Descrizione: Vyper è un linguaggio di Programmazione Smart Contract per la Macchina Virtuale Ethereum. Gli array possono essere chiaveati da un intero firmato, mentre sono definiti solo per interi non negativi. Il controllore di tipo non genera errori quando individua l’uso di un `int` come indice di un array. Il controllore di tipo consente l’uso di interi firmati come indici per array. La vulnerabilità è presente in diverse forme in tutte le versioni, incluso `0.3.10`. Per gli interi, la rappresentazione in complemento a due è utilizzata. A causa della dimensione dell’array, il controllo dei limiti passerà, i valori negativi saranno rappresentati come numeri molto grandi. A tempo della pubblicazione, non esiste una versione fissa. Ci sono tre classi di vulnerabilità potenziali: comportamento imprevedibile, accesso a elementi inaccessibili e denial of service. Classe 1: Se è possibile indicizzare un array con un intero negativo senza revert, questo è probabilmente non previsto dal progettista e tali accessi possono causare un comportamento imprevedibile per il contratto. Classe 2: Se un contratto ha un’invarianza nella forma `assert index < x`, il progettista supporrà che nessun elemento su indici `y | y >= x` siano accessibili. Tuttavia, utilizzando indici negativi, questo può essere aggirato. Classe 3: Se l’indice dipende dallo stato del contratto, questo pone un rischio di denial of service. Se lo stato del contratto può essere manipolato in modo tale che l’indice sarà forzato a essere negativo, l’accesso all’array può sempre revertarsi (probabilmente l’array non sarà dichiarato estremamente grande). Tuttavia, tutti questi scenari sono altamente improbabili. Il comportamento più probabile è un revert sul controllo dei limiti.

Vettore di attacco CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Punteggio CVSS

Il CVSS è un sistema di valutazione che misura la gravità di una vulnerabilità informatica considerando fattori come l’impatto potenziale, la probabilità di attacco e la facilità di esecuzione.

Punteggio Base (calcolato da AziendaSicura): 9.8 (High)

Riassunto: Accesso: Network, Privilegi: None, Interazione utente: None, Confidenzialità: High, Integrità: High, Disponibilità: High.

Dettaglio del Vettore

Metrica Valore Significato Descrizione
Attack Vector (AV) N Network L’attacco può essere eseguito da remoto attraverso la rete.
Attack Complexity (AC) L Low L’attacco non richiede condizioni particolari.
Privileges Required (PR) N None Non sono richiesti privilegi.
User Interaction (UI) N None Non è richiesta interazione dell’utente.
Scope (S) U Unchanged Il raggio d’azione non cambia.
Confidentiality Impact (C) H High Grave impatto sulla riservatezza.
Integrity Impact (I) H High Grave impatto sull’integrità.
Availability Impact (A) H High Rende il sistema inutilizzabile.

Riferimenti esterni

Prodotti interessati

  • vyperlang – vyper

Relazioni con altri prodotti

Produttore:vyperlang
Prodotto: vyper
Anno: 2024
CWE: CWE-129
CVSS: 0.0

Ulteriori risorse disponibili