Remote code execution and denial of service via unsafe Erlang term deserialization in elixir-grpc/grpc
Deserialization of Untrusted Data and Allocation of Resources Without Limits or Throttling vulnerabilities in elixir-grpc grpc allow unauthenticated attackers to crash the BEAM node via atom table exhaustion and, when a decoded term flows into a call site that invokes it, achieve remote code execution on the server. 'Elixir.GRPC.Codec.Erlpack':decode/2 (lib/grpc/codec/erlpack.ex) calls :erlang.binary_to_term/1 on the raw gRPC message body without the :safe option, no size bound, and no type guard. Any unauthenticated peer that sends a request with Content-Type: application/grpc+erlpack can send a crafted payload that mints arbitrary new atoms (which are never garbage-collected, exhausting the bounded atom table and crashing the VM) or that encodes a fun term which, if applied anywhere downstream, executes attacker-controlled code inside the server process. This issue affects grpc: from 0.4.0 before 1.0.0.
- Опубликовано
- 15 июн. 2026 г.
- Обновлено
- 24 сент. 2026 г.
- EPSS
- 0,8 % · 54-й процентиль
- CWE
- CWE-502
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
36
Наблюдать
Пока низкий приоритет.
- CVSS
- 36 / 40 · 9.2 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,8 %
Решение CISA SSVC
- Эксплуатация
- proof of concept
- Автоматизируемо
- да
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · EEF
- 9,2
- NVD ещё не выставил свою оценку; показана оценка CNA.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Затронутые системы
—
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (EEF). Не зависят от анализа CPE в NVD и обычно опережают его.
elixir-grpc grpc
- 0.4.0 и новее · до 1.0.0затронута · semver
- 25bcc569fe2cc4478531a6c546c923205fc751c9 и новее · до 272a97a5ea1b46af1819f14a831fcf35fc91f992затронута · git
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Hex | grpc | с 0.4.0 · до 1.0.0 | 1.0.0 |
Тот же продукт
elixir-grpc: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-53430grpc gzip decompression bomb in GRPC.Compressor.Gzip.decompress/134Наблюдать
- CVE-2026-48854Unbounded request body accumulation causes memory exhaustion in elixir-grpc/grpc34Наблюдать
- CVE-2026-48599Authorization bypass via path binding override in elixir-grpc/grpc HTTP transcoding30Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| elixir-grpc grpc | 1.0.0 | Вендор (CNA) |
| elixir-grpc grpc | 272a97a5ea1b46af1819f14a831fcf35fc91f992 | Вендор (CNA) |
| Hex:grpc | 1.0.0 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
- Peter Ullrichнашёл
- Paulo Valenteразработчик исправления
- Jonatan Männchen / EEFаналитик
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- Целостность
- Доступность
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- X
Класс уязвимости (CWE)
CWE-502 · Deserialization of Untrusted DataВектор CVSS
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
nvd-secondary
Первопричина
Данные, полученные по сети, десериализуются в собственный объектный формат языка без проверки источника. Во время десериализации могут быть задействованы пути выполнения кода внутри объекта.
Ошибка в коде
Весь класс CWE-502Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
payload = sock.recv(65536)job = pickle.loads(payload)Исправленный код
payload = sock.recv(65536)if not hmac.compare_digest(sign(payload), header_sig): raise PermissionError("недействительная подпись")job = JobSchema.validate(json.loads(payload))Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- cna.erlef.org/cves/CVE-2026-48853.html
- github.com/elixir-grpc/grpc/commit/25bcc569fe2cc4478531a6c546c923205fc751c9
- github.com/elixir-grpc/grpc/commit/272a97a5ea1b46af1819f14a831fcf35fc91f992
- github.com/elixir-grpc/grpc/security/advisories/GHSA-grp7-v8xh-rj7h
- osv.dev/vulnerability/EEF-CVE-2026-48853
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.