CVE-2026-42795
ŚrednieCVSS 5.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
Podatność związana z podążaniem za dowiązaniami symbolicznymi w eksporcie pakietów Hex w Gleam umożliwia osadzenie plików spoza katalogu projektu w generowanym archiwum pakietu. Funkcje zbierające pliki (gleam_files, native_files, private_files) używają follow_links(true) podczas przeszukiwania katalogów publikowalnych, a dodawanie ścieżek do archiwum nie weryfikuje, czy rozpoznany cel pozostaje w obrębie katalogu projektu.
Ocena ryzyka
Atakujący z dostępem do zapisu w repozytorium może umieścić dowiązanie symboliczne wskazujące na poufne pliki (np. sekrety, tokeny, klucze SSH), które zostaną dołączone do opublikowanego pakietu, co prowadzi do wycieku danych.
Rekomendacja
Zaleca się aktualizację Gleam do wersji 1.17.0 lub nowszej, która zawiera poprawkę zapobiegającą podążaniu za dowiązaniami symbolicznymi poza katalog projektu.
Inne podatności w Gleam
Zobacz wszystkie- CVE-2026-59247Wysokie
W narzędziu Gleam wykryto podatność polegającą na niewystarczającej weryfikacji autentyczności danych. Podczas rozwiązywania zależności atakujący typu man-in-the-middle może podmienić zawartość pakietów Hex na sfałszowane, ponieważ drugie żądanie do API Hex nie jest podpisane, a jego odpowiedź jest używana zamiast zweryfikowanych metadanych z repozytorium.
- CVE-2026-43965Średnie
Podatność typu path traversal w menedżerze zależności Gleam (wersje od 0.18.0-rc1 do 1.17.0) pozwala na usunięcie dowolnego katalogu poprzez złośliwą zawartość pliku build/packages/packages.toml. Klucze pakietów są używane bez walidacji do konstruowania ścieżek, co umożliwia użycie sekwencji ../ do wyjścia poza zamierzony katalog.
- CVE-2026-32685Średnie
Podatność path traversal w obsłudze niestandardowych stron dokumentacji w Gleam (wersje od 1.16.0 do 1.17.0) pozwala na odczyt i zapis plików poza zamierzonym katalogiem wyjściowym dokumentacji. Pola documentation.pages[].path i .source są używane bez wystarczającej walidacji.
- CVE-2026-32146Wysokie
W kompilatorze Gleam wykryto podatność polegającą na nieprawidłowej walidacji ścieżek podczas obsługi zależności git. Nazwy zależności z plików gleam.toml i manifest.toml są używane do tworzenia ścieżek bez wystarczającego zabezpieczenia, co pozwala na manipulację ścieżką (np. ../) i dostęp do plików poza docelowym katalogiem zależności. Atakujący może wykorzystać złośliwą zależność do usunięcia lub nadpisania dowolnych katalogów, a w niektórych środowiskach doprowadzić do wykonania kodu.
Oryginalny opis (angielski, źródło NVD)
Symlink following vulnerability in Gleam's Hex package export allows files outside the project root to be embedded in the generated package tarball. The file collection helpers (gleam_files, native_files, private_files) in compiler-cli/src/fs.rs use follow_links(true) when walking publishable directories such as src/ and priv/. The collected paths are added to the package archive via add_path_to_tar in compiler-cli/src/publish.rs without verifying that the resolved target remains within the project root. A symlink placed under a publishable directory will cause gleam export hex-tarball or gleam publish to embed the contents of the symlink target into the generated Hex package. An attacker with write access to the project repository can place a symlink in src/ or priv/ pointing to an arbitrary file. When a maintainer or CI pipeline runs gleam publish or gleam export hex-tarball, local files readable by the publisher (such as secrets, tokens, or SSH keys) are silently embedded into the published package artifact. This issue affects Gleam from 0.10.0-rc1 until 1.17.0.

