CVE-2026-69659
Published: August 9th, 2026
Uncontrolled Resource Consumption vulnerability in ash-project ash allows an attacker to exhaust the memory of the node via a crafted keyset pagination cursor.
Read actions with keyset pagination deserialize the client-supplied page[:after] or page[:before] cursor in decode_values/2 in lib/ash/page/keyset.ex, which base64-decodes the value and passes it to :erlang.binary_to_term/2 without bounding its size. The Erlang external term format supports zlib-compressed payloads, which the decoder inflates transparently, so a cursor of a few kilobytes can allocate tens of megabytes of heap in a single call. Ash itself only ever encodes cursors uncompressed, so the decoder accepts a term shape its encoder never produces. Concurrent requests aggregate these allocations and can terminate the node.
This issue affects ash: from 1.17.0 before 3.31.1.
Unknown
CVSS v2:
CVSS v2:
Status
| DocFilters Release | Package | State | Justification | Comment |
|---|---|---|---|---|
| 26.3 | zlib (1.3) | Needs Triage | ||
| 26.2 | zlib (1.3) | Needs Triage | ||
| 26.1 | zlib (1.3) | Needs Triage | ||
| 25.4 | zlib (1.3) | Needs Triage | ||
| 25.3 | zlib (1.3) | Needs Triage | ||
| 25.2 | zlib (1.3) | Needs Triage | ||
| 25.1 | zlib (1.3) | Needs Triage | ||
| 24.4 | zlib (1.3) | Needs Triage | ||
| 24.4.0 | zlib (1.3) | Needs Triage | ||
| 24.3 | zlib (1.3) | Needs Triage | ||
| 24.2 | zlib (1.3) | Needs Triage | ||
| 24.1 | zlib (1.3) | Needs Triage | ||
| 23.3 | zlib (1.3) | Needs Triage | ||
| 23.2 | zlib (1.2.12) | Needs Triage | ||
| 23.1 | zlib (1.2.12) | Needs Triage | ||
| 22.4 | zlib (1.2.12) | Needs Triage | ||
| 22.3 | zlib (1.2.12) | Needs Triage | ||
| 22.2 | zlib (1.2.12) | Needs Triage | ||
| 22.1 | zlib (1.2.11) | Needs Triage | ||
| 21.11 | zlib (1.2.11) | Needs Triage | ||
| 21.8 | zlib (1.2.11) | Needs Triage | ||
| 21.5.0 | zlib (1.2.11) | Needs Triage | ||
| 21.2.0 | zlib (1.2.11) | Needs Triage | ||
| 11.4.19.3667 | zlib (1.2.11) | Needs Triage | ||
| 11.4.18.3599 | zlib (1.2.11) | Needs Triage | ||
| 11.4.16.3445 | zlib (1.2.11) | Needs Triage | ||
| 11.4.15.3368 | zlib (1.2.11) | Needs Triage | ||
| 11.4.14.3263 | zlib (1.2.11) | Needs Triage | ||
| 11.4.13.3179 | zlib (1.2.11) | Needs Triage | ||
| 11.4.12.3054 | zlib (1.2.11) | Needs Triage | ||
| 11.4.11.3040 | zlib (1.2.11) | Needs Triage | ||
| 11.4.11.2990 | zlib (1.2.11) | Needs Triage | ||
| 11.4.10.2934 | zlib (1.2.11) | Needs Triage | ||
| 11.4.9.2878 | zlib (1.2.11) | Needs Triage | ||
| 11.4.8.2822 | zlib (1.2.11) | Needs Triage |