CVE-2026-118763
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
W sigstore-js przed wersją 0.7.2 metoda RegistryClient.signIn() w packages/oci/src/registry.ts przechowuje nagłówki autoryzacji rejestru i konfiguracji Docker jako domyślne w współdzielonym kliencie HTTP, podczas gdy RegistryClient.uploadBlob() wysyła nowe żądanie PUT do bezwzględnego adresu Location przekazanego przez rejestr bez sprawdzenia zgodności origin lub schematu z rejestrem. Złośliwy lub przejęty rejestr może skierować użytkownika przesyłającego artefakt przez attachArtifactToImage() do hosta kontrolowanego przez atakującego i odebrać token bearer rejestru, dane uwierzytelniające Basic lub niestandardowe nagłówki uwierzytelniania. Wersja 0.7.2 naprawia problem, oddzielając dane uwierzytelniające rejestru od domyślnych ustawień klienta i wysyłając je wyłącznie do origin rejestru.
Ocena ryzyka
Złośliwy lub przejęty rejestr może wykraść dane uwierzytelniające użytkownika, umożliwiając nieautoryzowany dostęp do rejestru i przesyłanie złośliwych artefaktów. Ryzyko dotyczy integralności łańcucha dostaw obrazów i artefaktów.
Rekomendacja
Zaktualizuj sigstore-js do wersji 0.7.2 i przejrzyj konfiguracje rejestrów pod kątem zaufanych źródeł artefaktów.
Inne podatności w sigstore-js
Zobacz wszystkie- CVE-2026-59891Krytyczne
W bibliotece sigstore-js przed wersją 0.7.1 funkcja getRegistryCredentials() odczytuje dane uwierzytelniające z pliku konfiguracyjnego Dockera i wybiera wpis na podstawie tego, czy skonfigurowany klucz auth zawiera docelowy ciąg rejestru. Ponieważ jest to dopasowanie podciągu, a nie dokładne dopasowanie hosta, dane uwierzytelniające skonfigurowane dla jednego rejestru mogą zostać wybrane i przesłane do innego rejestru, którego nazwa hosta ma relację podciągu ze skonfigurowanym kluczem auth.
- CVE-2026-48816Średnie
Podatność w bibliotece sigstore-js (wersje przed 3.1.1) pozwala atakującemu na manipulację znacznikiem czasu z dziennika przejrzystości (transparency log) dla wpisów typu inclusionProof-only w pakietach v0.2. Ponieważ ścieżka dowodu włączenia nie kryptograficznie wiąże znacznika czasu, atakujący może wpływać na decyzje dotyczące ważności certyfikatu i weryfikacji progów czasowych.
- CVE-2026-48815Wysokie
W bibliotece sigstore-js przed wersją 4.1.1 opcja certificateOIDs w funkcji sigstore.verify() jest akceptowana przez publiczne API, ale odrzucana przed weryfikacją. Oznacza to, że wymagane rozszerzenia certyfikatów nigdy nie są sprawdzane, a aplikacje polegające na certificateOIDs w celu ograniczenia, które certyfikaty mogą podpisywać artefakty, mogą akceptować nieautoryzowane certyfikaty.
- CVE-2026-48758Średnie
Podatność w bibliotece sigstore-js (wersje przed 3.2.1) pozwala na modyfikację typu ładunku po podpisaniu bez unieważnienia podpisu, co narusza gwarancję wiązania typu w DSSE. Funkcja preAuthEncoding używa kodowania ASCII Node.js, co umożliwia manipulację polem payloadType.
Oryginalny opis (angielski, źródło NVD)
sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 0.7.2, packages/oci/src/registry.ts contains a RegistryClient.signIn() method that stores registry Authorization and Docker configuration headers as defaults on a shared HTTP client, while RegistryClient.uploadBlob() sends a fresh PUT to an absolute blob-upload Location supplied by the registry without checking that its origin or scheme matches the registry. A malicious or compromised registry can therefore direct a user pushing an artifact through attachArtifactToImage() to an attacker-controlled host and receive the registry bearer token, Basic credentials, or custom authentication headers. Redirect-time header stripping does not prevent the leak because the cross-host PUT is a new explicit request rather than a followed redirect. This is a residual of CVE-2026-59891, whose fix changed credential selection in credentials.ts but did not constrain where credentials are sent from registry.ts. Version 0.7.2 fixes the issue by separating registry credentials from client-wide defaults and sending them only to the registry origin.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

