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.
Impacto
Puntuación base 4.0
5.90
Gravedad 4.0
MEDIA
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:ash-hq:ash_framework:*:*:*:*:*:*:*:* | 1.17.0 (incluyendo) | 3.31.1 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://cna.erlef.org/cves/CVE-2026-69659.html
- https://github.com/ash-project/ash/commit/1816b103af975221210478d61db20adcea700319
- https://github.com/ash-project/ash/security/advisories/GHSA-j35q-v8h8-7mwq
- https://osv.dev/vulnerability/EEF-CVE-2026-69659
- https://github.com/ash-project/ash/security/advisories/GHSA-j35q-v8h8-7mwq


