[ CVE-2026-64655 · Published 6 Aug 2026 ]
GitHub CLI allows attestation verification bypass through unescaped regex metacharacters
[ Description ]Official description
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.
[ Fixes ]Fixes and patches
- github.com/cli/cli/v2 2.97.0Fixed version · GitHub Advisories · go package github.com/cli/cli/v2: upgrade to 2.97.0 or later (affected < 2.97.0)
[ Packages ]Affected open-source packages
- github.com/cli/cli/v2 goAffected < 2.97.0 · fixed in 2.97.0 · GHSA-mm27-mwq9-fr5g
[ References ]References
- github.com/cli/cli/security/advisories/GHSA-mm27-mwq9-fr5gx_refsource_CONFIRM
- github.com/cli/cli/commit/55dbb4dc6b7edb10b48e3d7fc5bccd32318d1b55x_refsource_MISC
- github.com/cli/cli/releases/tag/v2.97.0x_refsource_MISC