CVE-2026-64655: GitHub CLI: Attestation Verification Bypass via Unescaped Regex Metacharacters in SAN Matching
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
GitHub CLI (gh)to a version that resolves this vulnerability.Fixed in 2.97.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-64655?
The severity of CVE-2026-64655 is rated at 60.
How do I fix CVE-2026-64655?
To fix CVE-2026-64655, upgrade GitHub CLI (gh) to version 2.97.0 or later.
What does CVE-2026-64655 affect?
CVE-2026-64655 affects GitHub CLI, specifically the attestation verification process.
What is the cause of CVE-2026-64655?
CVE-2026-64655 is caused by unescaped regex metacharacters in the Subject Alternative Name matcher.
What are the potential consequences of CVE-2026-64655?
The potential consequences of CVE-2026-64655 include the ability for an attacker to bypass attestation verification.