Gleam
Уязвимости
4
Эксплуатируемые
0
Макс. CVSS
8.3
Макс. EPSS
0.00239
Распределение по критичности
Критический
0
Высокий
1
Средний
3
Низкий
0
Затронутые диапазоны версий
0.10.0-rc1–1.17.00.18.0-rc1–1.17.01.16.0–1.17.01.9.0-rc1–1.15.4
Топ уязвимостей
CVE-2026-32146Неправильная уязвимость проверки пути в обработке Gleam компилятором гибких зависимостей позволяет произвольно изменять файловую систему во время загрузки зависимостей.
Имена зависимостей от gleam.toml и manifest.toml включены в пути файловой системы без достаточной проверки или ограничения в предполагаемом каталоге зависимости, что позволяет контролируемым злоумышленником путям (через относительный обход, такой как ../или абсолютные пути) нацеливаться на местоположения файловой системы за пределами этого каталога. При разрешении зависимостей git (например, через gleam deps download) вычисленный путь используется для операций файловой системы, включая удаление и создание каталогов.
Эта уязвимость возникает на этапе разрешения и загрузки зависимости, которая, как правило, ожидается ограниченной получением и подготовкой зависимостей в рамках замкнутого каталога. Вредоносная прямая или транзитивная зависимость гит может использовать эту проблему для удаления и перезаписи произвольных каталогов за пределами каталога предполагаемой зависимости, включая абсолютные пути, выбранные злоумышленником, что может привести к потере данных. В некоторых средах это может быть дополнительно использовано для достижения выполнения кода, например, путем перезаписи git-крючков или файлов конфигурации оболочки.
Эта проблема затрагивает Gleam от 1.9.0-rc1 до 1.15.4.
CVE-2026-43965Уязвимость прохождения пути в управлении зависимостями Gleam позволяет произвольно удалять каталоги через вредоносный контент build/packages/packages.toml.
Ключи пакета, читаемые из build/packages/packages.toml от LocalPackages::read_from_disc, передаются без проверки на paths.build_packages_package(), который строит путь файловой системы, присоединяясь к каталогу сборки проекта с ключом, управляемым злоумышленником. Затем полученный путь передается fs:delete_directory (который называет remove_dir_all). Никакой проверки не проводится для обеспечения того, чтобы путь оставался в предполагаемом каталоге сборки/пакетов/каталогов. Как абсолютные пути, так и относительные проходные последовательности (например, ...) принимаются в качестве ключей пакета, что позволяет удалять произвольные каталоги.
Злоумышленник, который может заставить жертву запустить пропускную загрузку на проект, содержащий вредоносное тело/пакеты/пакеты.томл (например, путем отправки обычно гинитинорированного файла в репозиторий), может привести к тому, что произвольные каталоги в системе жертвы будут рекурсивно удалены.
Эта проблема затрагивает Gleam от 0.18.0-rc1 до 1.17.0.
CVE-2026-42795Symlink после уязвимости в экспорте пакета Gleam Hex позволяет встраивать файлы за пределами корня проекта в tarball.
Помощники по сбору файлов (gleam_files, native_files, private_files) в compiler-cli/src/fs.rs используют name_links(true) при ходьбе публикуемых каталогов, таких как src/ и priv/. Собранные пути добавляются в архив пакетов через add_path_to_tar в compiler-cli/src/publish.rs без проверки того, что разрешенная цель остается в корне проекта. Символическая ссылка, помещенная под публикуемый каталог, заставит блеск экспорт гекс-тарбола или блеска опубликовать, чтобы встроить содержимое цели символической ссылки в сгенерированный пакет Hex.
Злоумышленник с доступом к записи в репозитории проекта может разместить симлинкцию в src/ или priv/, указывая на произвольный файл. Когда кондуктор или трубопровод CI протекает, публикует или проблеск экспортирует гекс-тарбол, местные файлы, читаемые издателем (например, секреты, токены или ключи SSH), молча встраиваются в опубликованный артефакт пакета.
Эта проблема затрагивает Gleam от 0.10.0-rc1 до 1.17.0.
CVE-2026-32685Уязвимость обхода пути в обработке Gleam пользовательских страниц документации позволяет произвольно читать файлы и записывать файлы за пределами указанного каталога результатов документации.
Записи documentation.страницы с gleam.toml включены в пути файловой системы без достаточной проверки или ограничения в предполагаемые каталоги результатов проекта и документации. Поля сайта Document.pages[].path можно использовать для записи сгенерированных файлов документации за пределами предполагаемого каталога build/dev/docs/<package>/. Поле «документация.страницы]. Источник» может использоваться для чтения файлов за пределами каталога проекта и встраивания их содержимого в сгенерированный выход документации.
Злоумышленник, который может убедить жертву запустить гибкие документы, построенные на ненадежном проекте, или с ненадежным контентом gleam.toml, может привести к тому, что локальные файлы, читаемые жертвой, будут включены в созданные артефакты документации, и может привести к тому, что сгенерированные файлы документации будут написаны за пределами предполагаемого каталога вывода документов.
Эта проблема затрагивает Gleam от 1.16.0 до 1.17.0.