Ad

CVE-2026-69659

MEDIUM CVSS 4.0: 5,9 EPSS 0.14%
Обновлено 12 августа 2026
Ash-Project
Параметр Значение
CVSS 5,9 (MEDIUM)
Уязвимые версии 1.17.0 — 3.31.1
Устранено в версии 3.31.1
Тип уязвимости CWE-502 (Десериализация недоверенных данных)
Поставщик Ash-Project
Публичный эксплойт Нет

Уязвимость неконтролируемого потребления ресурсов в ash-project позволяет злоумышленнику исчерпать память узла с помощью созданного курсора пагинации набора ключей. Действия чтения с нумерацией набора ключей десериализуют предоставленный клиентом курсор page[:after] или page[:before] в decode_values/2 в lib/ash/page/keyset.ex, который декодирует значение в base64 и передает его в :erlang.binary_to_term/2 без ограничения его размера. Формат внешних терминов Erlang поддерживает полезные данные, сжатые с помощью zlib, которые декодер прозрачно раздувает, поэтому курсор размером в несколько килобайт может выделить десятки мегабайт кучи за один вызов.

Сам Ash кодирует курсоры только в несжатом виде, поэтому декодер принимает форму термина, которую его кодер никогда не создает. Параллельные запросы объединяют эти выделения и могут завершить работу узла. Эта проблема затрагивает ash: с 1.17.0 до 3.31.1.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Требуются
Нужны дополнительные условия
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v4.0

Уязвимые продукты 1

Конфигурация От (включительно) До (исключительно)
Ash-Project Ash
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*
1.17.0 3.31.1