CVE-2026-85747
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
W bibliotece Distribution (registry/client) w wersjach przed 3.1.2 metoda Get() odczytuje manifest zwrócony dla żądania przypiętego do digestu i przekazuje go do distribution.UnmarshalManifest bez weryfikacji skrótu względem żądanego digestu. Umożliwia to złośliwej lub przechwyconej odpowiedzi rejestru podstawienie treści manifestu wybranej przez atakującego, nawet gdy nagłówek Docker-Content-Digest wskazuje żądaną wartość. Wbudowany proxy pull-through może dodatkowo buforować i ponownie serwować podstawiony manifest. Problem naprawiono w wersji 3.1.2.
Ocena ryzyka
Atakujący może dostarczyć podmieniony obraz kontenera, co prowadzi do uruchomienia nieautoryzowanego kodu w środowisku produkcyjnym. Ryzyko obejmuje naruszenie integralności łańcucha dostaw oprogramowania.
Rekomendacja
Zaktualizuj bibliotekę Distribution do wersji 3.1.2 lub nowszej. Sprawdź, czy używany jest wbudowany proxy pull-through i zweryfikuj integralność pobieranych obrazów.
Inne podatności w Distribution
Oryginalny opis (angielski, źródło NVD)
Distribution is a toolkit to pack, ship, store, and deliver container content. Prior to 3.1.2, registry/client.(*manifests).Get() reads a manifest returned for a digest-pinned request and passes it to distribution.UnmarshalManifest without hashing the body against the requested digest, allowing a malicious or intercepted registry response to substitute attacker-chosen manifest content even when Docker-Content-Digest claims the requested value. The bundled pull-through proxy in registry/proxy/proxymanifeststore.go can cache and re-serve the substituted manifest. This issue is fixed in version 3.1.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

