Vulnerabilidad en Vyper (CVE-2024-22419)
Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
18/01/2024
Última modificación:
09/10/2024
Descripción
Vyper es un lenguaje de contrato inteligente pitónico para la máquina virtual Ethereum. El `concat` integrado puede escribir sobre los límites del búfer de memoria que se le asignó y así sobrescribir los datos válidos existentes. La causa principal es que `build_IR` para `concat` no se adhiere correctamente a la API de funciones de copia (para `>=0.3.2` la función `copy_bytes`). Se realizó una búsqueda de contratos y no se encontraron contratos vulnerables en producción. El desbordamiento de búfer puede provocar un cambio en la semántica del contrato. El desbordamiento depende de la longitud y, por lo tanto, puede pasar desapercibido durante las pruebas del contrato. Sin embargo, ciertamente no todos los usos de concat darán como resultado la sobrescritura de datos válidos, ya que requerimos que estén en una función interna y cerca de la declaración de devolución donde no ocurren otras asignaciones de memoria. Este problema se solucionó en el commit `55e18f6d1` que se incluirá en versiones futuras. Se recomienda a los usuarios que actualicen cuando sea posible.
Impacto
Puntuación base 3.x
9.80
Gravedad 3.x
CRÍTICA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:* | 0.3.10 (incluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página