Informazioni sul CVE-2022-36078
Slice Memory Allocation with Excessive Size Value in binary
CWE ID: CWE-789
Base Score (CVSS): N/A
CVE: CVE-2022-36078
Descrizione: Binary provides encoding/decoding in Borsh and other formats. The vulnerability is a memory allocation vulnerability that can be exploited to allocate slices in memory with (arbitrary) excessive size value, which can either exhaust available memory or crash the whole program. When using `github.com/gagliardetto/binary` to parse unchecked (or wrong type of) data from untrusted sources of input (e.g. the blockchain) into slices, it’s possible to allocate memory with excessive size. When `dec.Decode(&val)` method is used to parse data into a structure that is or contains slices of values, the length of the slice was previously read directly from the data itself without any checks on the size of it, and then a slice was allocated. This could lead to an overflow and an allocation of memory with excessive size value. Users should upgrade to `v0.7.1` or higher. A workaround is not to rely on the `dec.Decode(&val)` function to parse the data, but to use a custom `UnmarshalWithDecoder()` method that reads and checks the length of any slice.
Vettore di attacco CVSS:3.1/AV:N/AC:L/PR:N/UI:R/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.
Riassunto: Accesso: Network, Privilegi: None, Interazione utente: Required, 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) | R | Required | È richiesta l’interazione di un 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
- https://github.com/gagliardetto/binary/security/advisories/GHSA-4p6f-m4f9-ch88
- https://github.com/gagliardetto/binary/pull/7
- https://github.com/gagliardetto/binary/releases/tag/v0.7.1
Prodotti interessati
- gagliardetto – binary
Relazioni con altri prodotti
Produttore:gagliardetto
Prodotto: binary
Anno: 2022
CWE: CWE-789
CVSS: 0.0