CVE-2026-43965
ŚrednieCVSS 5.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 - wyżej niż 5% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może nakłonić ofiarę do uruchomienia polecenia na projekcie ze złośliwym plikiem packages.toml, co skutkuje rekurencyjnym usunięciem dowolnych katalogów na systemie ofiary.
Rekomendacja
Zaktualizuj Gleam do wersji 1.17.0 lub nowszej.
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-42795Średnie
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.
- 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)
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.

