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

Vulnerabilidad en yajl-riuby (CVE-2022-24795)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-122 Desbordamiento de búfer basado en memoria dinámica (Heap)
Fecha de publicación:
05/04/2022
Última modificación:
07/11/2023

Descripción

yajl-riuby es un enlace en C a la biblioteca de análisis y generación de JSON YAJL. La rama 1.x y la rama 2.x de yajl contienen un desbordamiento de enteros que conlleva a una posterior corrupción de la memoria de la pila cuando trata con entradas grandes (~2GB). La lógica de reasignación en "yajl_buf.c#L64" puede hacer que el entero de 32 bits "need" sea convertido en 0 cuando "need" es acercado a un valor de 0x80000000 (es decir, ~2GB de datos), lo que resulta en una reasignación de buf-)alloc en un pequeño trozo de pila. Estos enteros están declarados como "size_t" en la rama 2.x de "yajl", lo que prácticamente evita que el problema ses desencadenado en plataformas de 64 bits, sin embargo esto no impide que este problema sea desencadenado en construcciones de 32 bits en las que "size_t" es un entero de 32 bits. El poblamiento posterior de este trozo de pila infra asignado es basado en el tamaño original del buffer, conllevando una corrupción de la memoria de la pila. Esta vulnerabilidad afecta principalmente a la disponibilidad de los procesos. Los mantenedores creen que la explotación para una ejecución de código arbitrario es poco probable. Se presenta un parche disponible y se espera que forme parte de la versión 1.4.2. Como medida de mitigación, evite pasar entradas grandes a YAJL

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:yajl-ruby_project:yajl-ruby:*:*:*:*:*:ruby:*:* 1.4.2 (excluyendo)