Распространение — это набор инструментов для упаковки, доставки, хранения и доставки контейнерного контента. Системы с версиями реестра от 3.0.0-beta.1 до 3.0.0-rc.2 с включенной аутентификацией по токену могут быть уязвимы к проблеме, из-за которой аутентификация по токену позволяет злоумышленнику внедрить ненадежный ключ подписи в веб-токен JSON (JWT). Проблема заключается в том, как выполняется проверка веб-ключа JSON (JWK).
Когда JWT содержит заголовок JWK без цепочки сертификатов, код только проверяет, соответствует ли KeyID («ребенок») одному из доверенных ключей, но не проверяет соответствие фактического материала ключа. Исправление этой проблемы доступно по адресу фиксации 5ea9aa028db65ca5665f6af2c20ecf9dc34e5fcd и, как ожидается, станет частью версии 3.0.0-rc.3. Невозможно обойти эту проблему без исправления, если система требует аутентификации по токену.
Показать оригинальное описание (EN)
Distribution is a toolkit to pack, ship, store, and deliver container content. Systems running registry versions 3.0.0-beta.1 through 3.0.0-rc.2 with token authentication enabled may be vulnerable to an issue in which token authentication allows an attacker to inject an untrusted signing key in a JSON web token (JWT). The issue lies in how the JSON web key (JWK) verification is performed. When a JWT contains a JWK header without a certificate chain, the code only checks if the KeyID (`kid`) matches one of the trusted keys, but doesn't verify that the actual key material matches. A fix for the issue is available at commit 5ea9aa028db65ca5665f6af2c20ecf9dc34e5fcd and expected to be a part of version 3.0.0-rc.3. There is no way to work around this issue without patching if the system requires token authentication.
Характеристики атаки
Последствия
Строка CVSS v4.0