Две уязвимости Red Hat Quay открыли доступ к чужим образам

В Red Hat Quay обнаружили две критические уязвимости: CVE-2026-123710 с оценкой CVSS 9,8 и CVE-2026-110697 с оценкой 9,9. Первая позволяет внедрить доверенный ключ и читать или подменять образы в разных репозиториях. Вторая раскрывает токены роботизированных аккаунтов других арендаторов. Обе ошибки нашёл Дейв О'Коннор из Red Hat.
Две уязвимости Red Hat Quay открыли доступ к чужим образам
Изображение носит иллюстративный характер

CVE-2026-123710 затрагивает механизм, которым Quay подписывает токены доступа для загрузки и скачивания образов. Сервер ключей проверяет подпись, издателя и аудиторию токена, но не проверяет, что токен предназначен именно для ротации ключей. При этом анонимный запрос к конечной точке /v2/auth может получить токен, подписанный доверенным ключом, а его аудиторию выбирает сам запросивший.
С таким токеном атакующий может добавить собственный ключ в список доверенных. Срок его действия не ограничен, а подписанные им токены принимаются для любого репозитория. Так можно скачивать закрытые образы, где порой хранятся секреты и учётные данные, а также загружать или перезаписывать образы. Изменённый образ попадёт в системы, которые позже его запросят. Удаление ключей, используемых работающими экземплярами Quay, способно сорвать обычные операции загрузки и скачивания: клиенты получат ошибки аутентификации.
Внедрённый ключ переживает перезапуск Quay и остаётся действительным после смены паролей и токенов роботизированных аккаунтов. Уязвимая логика, согласно сообщению об ошибке, присутствует в коде Quay с первого публичного коммита. Для эксплуатации нужен доступ к реестру, но анонимный доступ включён по умолчанию. Если его отключили, подойдёт любая действующая учётная запись. Red Hat предупреждает, что уязвим любой экземпляр Quay, доступный недоверенным клиентам, в том числе внутренний реестр.
CVE-2026-110697 позволяет пользователю Quay, которому разрешено создавать пространства имён, получить токены роботизированных аккаунтов других арендаторов. Повышенные привилегии и действия жертвы не нужны. Ошибка находится в коде поиска таких аккаунтов: имя пространства подставляется в SQL-шаблон LIKE без экранирования специальных символов. Подчёркивание в таком шаблоне означает «любой один символ». Поэтому специально подобранное имя с подчёркиванием может совпасть с именем пространства другого арендатора, а поиск вернёт его роботизированные аккаунты и расшифрованные токены.
Обладатель украденного токена может читать, загружать и перезаписывать образы пострадавшего арендатора. Если Quay подключён как реестр в OpenShift, вредоносные образы могут попасть в конвейеры CI/CD. Удаление пространства атакующего удаляет связанные с ним роботизированные аккаунты; системы, зависящие от этих аккаунтов, после этого могут потерять доступ.
Red Hat считает уязвимыми все версии Quay 3 и Quay 5. Для CVE-2026-123710 перечислены самостоятельные установки Quay, развёртывания через Quay Operator на OpenShift и mirror registry для Red Hat OpenShift. Компания выпустила исправленные сборки для восьми веток Quay 3. Страница CVE-2026-110697 также называет те же восемь выпусков исправленными и указывает, что обновление — единственный полный способ устранить уязвимость. , согласно Red Hat, уже исправлен.
При этом сведения о патчах опубликованы не вполне согласованно: ни один из восьми бюллетеней не перечисляет CVE-2026-110697. А запись CVE-2026-123710 на момент проверки по-прежнему отмечала все пакеты Quay как уязвимые и не указывала исправления, хотя в бюллетенях проблема уже описана. Календарные даты проверки и публикаций не приводятся.
Для CVE-2026-123710 Red Hat советует закрыть конечную точку /keys на прокси или балансировщике для всех, кроме доверенных внутренних компонентов. В журналах аудита следует искать события service_key_rotate и service_key_delete, у которых expiration_date равен null, а неизвестные одобренные ключи нужно удалить. Затем необходимо установить исправленный выпуск. Одного удаления ключа недостаточно: пока работает уязвимая версия, атакующий может добавить новый. Отключение анонимного доступа от этой уязвимости не защищает.
До обновления Red Hat рекомендует ограничить создание организаций и пространств имён с подчёркиванием, сменить роботизированные токены для пространств, имена которых могут совпадать по шаблону, и отслеживать необычные операции загрузки и скачивания. Эти меры уменьшают риск, но не устраняют ошибку.
Исправление в upstream добавляет проверку, что токен предназначен для ротации ключа, требует указывать срок действия для ключей, добавляемых через сервер ключей, и не позволяет вызывающей стороне выбирать аудиторию токена. Там же исправлен поиск роботизированных аккаунтов.


Новое на сайте

Ссылка