GitHub CLI (gh) — официальный инструмент командной строки GitHub. До версии 2.97.0 gh attestation Verify создает средство сопоставления альтернативного имени субъекта сертификата на основе значений флагов --signer-repo и --signer-workflow без экранирования метасимволов регулярного выражения, поэтому указанное пользователем имя репозитория или рабочего процесса рассматривается как регулярное выражение, а не литеральная строка. Поскольку GitHub допускает использование таких символов, как `.` в именах путей организации, репозитория и рабочего процесса, а `.` является подстановочным знаком регулярного выражения, злоумышленник может зарегистрировать похожее имя (например, github/artifact.attestations-workflows), которое удовлетворяет сопоставителю, предназначенному для другого доверенного подписывающего лица (github/artifact-attestations-workflows), минуя запланированную проверку аттестации Sigstore.
Эксплуатация требует от злоумышленника создать правдоподобный репозиторий-двойник и предоставить из него действительные сертификаты, что может подорвать проверку цепочки поставок для конвейеров CI/CD или шлюзов политики, которые закрепляют доверие к конкретному рабочему процессу подписи. Эта проблема исправлена в версии 2.97.0.
Показать оригинальное описание (EN)
GitHub CLI (gh) is GitHub’s official command line tool. Prior to 2.97.0, gh attestation verify builds the certificate Subject Alternative Name matcher from the --signer-repo and --signer-workflow flag values without escaping regex metacharacters, so a user-supplied repository or workflow name is treated as a regular expression rather than a literal string. Because GitHub permits characters such as `.` in organization, repository, and workflow path names and `.` is a regex wildcard, an attacker can register a lookalike name (for example github/artifact.attestations-workflows) that satisfies a matcher intended for a different trusted signer (github/artifact-attestations-workflows), bypassing the intended Sigstore attestation verification. Exploitation requires the attacker to create a plausible lookalike repository and produce valid attestations from it, which could undermine supply chain verification for CI/CD pipelines or policy gates that pin trust to a specific signing workflow. This issue is fixed in version 2.97.0.
Характеристики атаки
Последствия
Строка CVSS v4.0