CVE-2026-54894 in GuardianИнформация

Сводка

по VulDB • 02.08.2026

Неограниченное выделение ресурсов (Allocation of Resources Without Limits or Throttling) в ueberauth guardian позволяет осуществить отказ в обслуживании (DoS) за счет создания неограниченного количества атомов на основе бинарных данных, находящихся под влиянием злоумышленника.

Модуль Guardian.Plug.Keys выводит ключи пространства имен соединения и сессии путем передачи произвольных двоичных данных функции String.to_atom/1. Функция base_key/1 в файле lib/guardian/plug/keys.ex преобразует любые бинарные данные в атом вида :"guardian_<input>", а вспомогательные функции claims_key/1, resource_key/1 и token_key/1 создают второй уровень атома поверх этого. Функция key_from_other/1 аналогичным образом преобразует двоичные данные, захваченные регулярным выражением, через String.to_atom/1. В публичных спецификациях в качестве допустимого аргумента указан тип String.t(), поэтому передача строки является задокументированным вариантом использования; при этом более высокоуровневые точки входа, такие как Guardian.Plug.current_token(conn, key: key), напрямую передают ключ, предоставленный вызывающей стороной, в эти функции.

Функция String.to_atom/1 создает совершенно новый атом для каждого ранее не встречавшегося бинарного значения; атомы никогда не собираются сборщиком мусора (garbage collected), а таблица атомов BEAM по умолчанию ограничена примерно 1 048 576 записями. Приложение, маршрутизирующее данные под влиянием злоумышленника (идентификатор арендатора, заголовок или другие входные параметры запроса) в ключ Guardian, тем самым создает один постоянный атом для каждого уникального значения. Небольшой поток разнообразных неавторизованных данных приводит к необратимому заполнению таблицы атомов и падению узла BEAM, что выводит из строя все приложения, работающие на нем.

Эта проблема затрагивает пакет guardian: начиная с версии 0.1.0 до (не включая) 2.4.1.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Ответственный

EEF

Резервировать

16.06.2026

Раскрытие

01.08.2026

Модерация

принято

Вход

VDB-385308

EPSS

0.00000

KEV

Нет

Деятельности

Средний

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!