Перейти к содержимому
Noroxi
CVE-2026-43965· NVD / CVE Program· CNA EEF

Path Traversal in build/packages/packages.toml Allows Arbitrary Directory Deletion

Path traversal vulnerability in Gleam's dependency management allows arbitrary directory deletion via malicious build/packages/packages.toml content. Package keys read from build/packages/packages.toml by LocalPackages::read_from_disc are passed without validation to paths.build_packages_package(), which constructs a filesystem path by joining the project build directory with the attacker-controlled key. The resulting path is then passed to fs::delete_directory (which calls remove_dir_all). No check is performed to ensure the path remains within the intended build/packages/ directory. Both absolute paths and relative traversal sequences (e.g. ../) are accepted as package keys, allowing deletion of arbitrary directories. An attacker who can cause a victim to run gleam deps download on a project containing a malicious build/packages/packages.toml (e.g. by committing the normally-gitignored file to a repository) can cause arbitrary directories on the victim's system to be recursively deleted. This issue affects Gleam from 0.18.0-rc1 until 1.17.0.

СредняяCVSS 5.6 · v4.0—Эксплойта нет Есть исправление
Опубликовано
2 июн. 2026 г.
Обновлено
8 сент. 2026 г.
EPSS
0,2 % · 8-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

Инструменты для отчёта

JSON

Оценка срочности

22

Наблюдать

Пока низкий приоритет.

CVSS
22 / 40 · 5.6 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,2 %

Решение CISA SSVC

Эксплуатация
proof of concept
Автоматизируемо
нет
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
—
CNA · EEF
5,6
NVD ещё не выставил свою оценку; показана оценка CNA.

CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Затронутые системы

—

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (EEF). Не зависят от анализа CPE в NVD и обычно опережают его.

  • Gleam Gleam

    • 0.18.0-rc1 и новее · до 1.17.0затронута · semver
    • 0.18.0-rc1 и новее · до 1.17.0затронута · semver
    • ed7aec0484f10d60978b63788c8a6497590855ab и новее · до 690ca069817bee5f77a28fc3e360627c1da19291затронута · git
    • v0.18.0-rc1-elixir и новее · до v1.17.0-elixirзатронута · other
    • v0.18.0-rc1-erlang и новее · до v1.17.0-erlangзатронута · other
    • v0.18.0-rc1-node и новее · до v1.17.0-nodeзатронута · other
    • v0.18.0-rc1-node-slim и новее · до v1.17.0-node-slimзатронута · other
    • v0.18.0-rc1-elixir-slim и новее · до v1.17.0-elixir-slimзатронута · other
    • v0.18.0-rc1-erlang-slim и новее · до v1.17.0-erlang-slimзатронута · other
    • v0.18.0-rc1-erlang-alpine и новее · до v1.17.0-erlang-alpineзатронута · other

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
openSUSE:Leap 16.0gleamдо 1.17.0-bp160.1.11.17.0-bp160.1.1
openSUSE:Tumbleweedgleamдо 1.17.0-1.11.17.0-1.1

Тот же продукт

gleam: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-42795Symlink Following in Hex Package Export Allows Embedding Files Outside Project Root
    20Наблюдать
  • CVE-2026-32685Path Traversal in gleam docs build via documentation.pages Allows Arbitrary File Read and Write
    18Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Gleam Gleam1.17.0Вендор (CNA)
Gleam Gleam690ca069817bee5f77a28fc3e360627c1da19291Вендор (CNA)
Gleam Gleamv1.17.0-elixirВендор (CNA)
Gleam Gleamv1.17.0-elixir-alpineВендор (CNA)
Gleam Gleamv1.17.0-elixir-slimВендор (CNA)
Gleam Gleamv1.17.0-erlangВендор (CNA)
Gleam Gleamv1.17.0-erlang-alpineВендор (CNA)
Gleam Gleamv1.17.0-erlang-slimВендор (CNA)
Gleam Gleamv1.17.0-nodeВендор (CNA)
Gleam Gleamv1.17.0-node-alpineВендор (CNA)
Gleam Gleamv1.17.0-node-slimВендор (CNA)
Gleam Gleamv1.17.0-scratchВендор (CNA)
opensuse:gleam1.17.0-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

  • CVE-2026-32685с разницей 0 дн.Path Traversal in gleam docs build via documentation.pages Allows Arbitrary File Read and Write
    18Наблюдать

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана пользователем с локальным доступом к системе.
  • Учётная запись или пароль не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
Целостность
Доступность
Вектор атаки
Локальный
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
A
Область действия
X

Вектор CVSS

CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/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-22

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
const file = path.join(ROOT, req.query.name);res.sendFile(file);

Исправленный код

ts
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) {  return res.sendStatus(400);}res.sendFile(file);

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

Мы используем этот продукт, нужна помощь

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи