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

Vulnerabilidad en ash de ash-project (CVE-2026-69659)

Gravedad CVSS v4.0:
MEDIA
Tipo:
CWE-502 Deserialización de datos no confiables
Fecha de publicación:
09/08/2026
Última modificación:
24/10/2026

Descripción

Una vulnerabilidad de consumo de recursos no controlado en ash-project ash permite a un atacante agotar la memoria del nodo a través de un cursor de paginación de conjunto de claves manipulado.<br /> <br /> Las acciones de lectura con paginación de conjunto de claves deserializan el cursor page[:after] o page[:before] proporcionado por el cliente en decode_values/2 en lib/ash/page/keyset.ex, que decodifica el valor en base64 y lo pasa a :erlang.binary_to_term/2 sin limitar su tamaño. El formato de término externo de Erlang soporta cargas útiles comprimidas con zlib, que el decodificador infla de forma transparente, por lo que un cursor de unos pocos kilobytes puede asignar decenas de megabytes de memoria heap en una sola llamada. Ash mismo solo codifica cursores sin comprimir, por lo que el decodificador acepta una forma de término que su codificador nunca produce. Las solicitudes concurrentes agregan estas asignaciones y pueden terminar el nodo.<br /> <br /> Este problema afecta a ash: desde 1.17.0 antes de 3.31.1.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:ash-hq:ash_framework:*:*:*:*:*:*:*:* 1.17.0 (incluyendo) 3.31.1 (excluyendo)