Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Vyper (CVE-2024-24560)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-119 Restricción de operaciones inapropiada dentro de los límites del búfer de la memoria
Fecha de publicación:
02/02/2024
Última modificación:
12/02/2024

Descripción

Vyper es un lenguaje de contrato inteligente pitónico para la máquina virtual Ethereum. Cuando se realizan llamadas a contratos externos, escribimos el búfer de entrada comenzando en el byte 28 y asignamos el búfer de retorno para que comience en el byte 0 (superponiéndose con el búfer de entrada). Al verificar RETURNDATASIZE para tipos dinámicos, el tamaño se compara solo con el tamaño mínimo permitido para ese tipo y no con la longitud del valor devuelto. Como resultado, los datos de devolución con formato incorrecto pueden hacer que el contrato confunda los datos del búfer de entrada con los datos de devolución. Cuando el contrato llamado devuelve datos codificados ABIv2 no válidos, el contrato que llama puede leer datos no válidos diferentes (del búfer sucio) que los devueltos por el contrato llamado.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:python:*:* 0.3.10 (incluyendo)


Referencias a soluciones, herramientas e información