CVE-2026-105280
ŚrednieCVSS 6.9Streszczenie
Podatność nieprawidłowej walidacji sumy kontrolnej w hex pozwala mirrorowi pakietów na podmianę tarballa, który mix hex.package fetch PACKAGE VERSION --output - zapisuje na standardowe wyjście.
Ocena ryzyka
Gdy mirror skonfigurowany przez HEX_MIRROR_URL lub mirror_url serwuje zmienione bajty, komenda wypisuje je i kończy się sukcesem, podczas gdy pobieranie z --output FILE kończy się błędem niezgodności sumy kontrolnej. Ponadto mirror może odpowiedzieć błędem HTTP z ciałem będącym archiwum tar, które trafia na standardowe wyjście przed zweryfikowanym tarballem.
Rekomendacja
Zaktualizuj hex do wersji 2.5.2 lub nowszej, aby uzyskać poprawkę.
Inne podatności w hex
Zobacz wszystkie- CVE-2026-96618Niskie
Podatność w bibliotece hex pozwala niezaufanemu mirrorowi pakietów na wyczerpanie pamięci lub miejsca na dysku maszyny podczas wykonywania poleceń mix deps.get, mix deps.update, mix hex.package fetch lub mix hex.docs fetch. Problem wynika z braku limitów rozmiaru odpowiedzi HTTP, dekompresji gzip oraz rozpakowywania tarballi przed weryfikacją sum kontrolnych.
- CVE-2026-96612Wysokie
Podatność typu Path Traversal w bibliotece hex (w wersjach od 0.6.0 do 2.5.2) pozwala złośliwemu wydawcy pakietu na usunięcie katalogu poza katalogiem deps projektu i rozpakowanie plików pakietu do niego, gdy programista pobiera zależności. Etykieta aplikacji w wymaganiach pakietu nie jest walidowana, co pozwala na ustawienie wartości takiej jak ../../target, co prowadzi do usunięcia katalogu i zapisu plików poza projektem.
- CVE-2026-81856Niskie
Podatność w Hex pozwala złośliwemu wydawcy pakietu lub wrogiemu serwerowi repozytorium na wstrzyknięcie sekwencji sterujących terminala do danych wyjściowych zadań Mix. Hex wypisuje dane z repozytorium i usługi wyszukiwania dokumentacji bez neutralizacji znaków kontrolnych.
- CVE-2026-105668Wysokie
Podatność w menedżerze pakietów hex pozwala właścicielowi pakietu lub osobie przejmującej konto właściciela na opublikowanie nowej wersji z pominięciem limitu czasu (cooldown) dla wieku wydania. Mechanizm cooldownu, który blokuje zbyt świeże wersje, może zostać obejściy przez wycofanie aktualnie zablokowanej wersji, co powoduje, że następna aktualizacja wybierze nową wersję niezależnie od jej wieku. Problem dotyczy wersji hex od 2.5.0 do przed 2.5.2.
- CVE-2026-103503Średnie
Podatność nieprawidłowej walidacji certyfikatów w hex pozwala atakującemu, który może przechwytywać połączenia HTTPS i posiada certyfikat dla hosta Hex wydany przez CA znajdujący się w dołączonym magazynie CA, na podszywanie się pod ten host wobec użytkowników, którzy ustawili cacerts_path na magazyn CA nie zawierający tego CA.
Oryginalny opis (angielski, źródło NVD)
Improper Validation of Integrity Check Value vulnerability in hexpm hex allows a package mirror to substitute the tarball that mix hex.package fetch PACKAGE VERSION --output - writes to standard output. Hex compares a fetched tarball's inner and outer checksums with the repository's signed registry before writing it to a file or unpacking it. The standard output branch of mix hex.package fetch writes the bytes returned by Hex.SCM.fetch/3 without that comparison, and Hex.SCM.fetch/3 doesn't verify freshly downloaded tarballs itself. When a mirror configured with HEX_MIRROR_URL or mirror_url serves altered bytes, the command prints them and exits successfully, while the same fetch with --output FILE fails with a checksum mismatch. Hex also prints diagnostics to standard output while the command runs: the body of a failed HTTP response from the update check or a registry fetch, and API warnings from the x-hex-message header. A mirror that answers one of those requests with an error whose body is a tar archive gets that archive written to standard output ahead of the verified tarball, so a pipeline that unpacks standard output extracts the mirror's files. This happens even when the checksum check then fails, because the archive is already on standard output. This issue affects hex: from 0.20.2 before 2.5.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

