GitHub CLI (g) — официальный инструмент командной строки GitHub. До 2.93.0 GitHub CLI неправильно включает заголовок авторизации в запросы …
GitHub CLI (g) — официальный инструмент командной строки GitHub. До 2.93.0 GitHub CLI неправильно включает заголовок авторизации в запросы API к зеркалам TUF через httpassation, gh ghlet check и ghslet check-asset. CLI использует общий HTTP-клиент со слоем аутентификации, который автоматически прикрепляет токены к исходящих запросам. Этот уровень не имеет точного обнаружения хоста и может неправильно отнести целевой хост, предоставляя ему токен, который он никогда не должен получать. В частности, логика нормализации хоста разрушает любой поддомен *.github.com на github.com, поэтому запрос на tuf-repo.github.com (сайт GitHub Pages, а не конечная точка GitHub API) рассматривается как запрос на github.com и получает токен пользователя github.com. Для хозяев, которые не соответствуют github.com или известному экземпляру GHES вообще, решение возвращается к GH_ENTERPRISE_TOKEN, если установлен. gh аттестация, gh высвобождение и команды проверки-актива высвобождения получают данные от нескольких внешних хостов в рамках их нормальной работы (метаданные TUF от tuf-repo.github.com и tuf-repo-cdn.sigstore.dev, пакеты артефактов из Azure Blob Storage). Поскольку эти запросы проходят через один и тот же аутентифицированный HTTP-клиент, токен отправляется всем им. Эта уязвимость исправлена в 2.93.0.
Продукт выполняет проверку авторизации при попытке субъекта получить доступ к ресурсу или выполнить действие, однако не осуществляет эту проверку корректно.
https://cwe.mitre.org/data/definitions/863.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| golang-github-cli-go-gh | Отслеживается | |
| golang-github-cli-go-gh | Отслеживается | |
| golang-github-cli-go-gh-v2 | Отслеживается | |
| golang-github-cli-go-gh-v2 | Отслеживается | |
| cli | * | Отслеживается |