Back to list
dev_to 2026年4月25日

GHSA-H829-5CG7-6HFF: gitverify の署名検証における論理反転による安全ポリシー回避

GHSA-H829-5CG7-6HFF: GHSA-H829-5CG7-6HFF: Improper Tag Signature Verification in Gitverify

Translated: 2026/4/25 0:00:12
gitverifycvesignature-verificationlogic-inversionsupply-chain-security

Japanese Translation

Vulnerability ID: GHSA-H829-5CG7-6HFF CVSS スコア:5.3 公開日:2026-04-24 gitverify ツールは、署名検証ルーティンに論理反転脆弱性を保有しています。この欠陥により、署名が付与されていない付注された Git タグが、暗号署名を強制する意図されたセキュリティポリシーをバイパスすることが可能になります。 論理反転があるため、gitverify に依存するサプライチェーンに署名なしの参照が注入されることがあります。 CWE ID: CWE-347 Secondary CWE: CWE-697 攻撃ベクトル:Network CVSS スコア:5.3 インパクト:Integrity Bypass Exploit Status: None github.com/supply-chain-tools/gitverify gitverify: < c2c60da05d5c73621d0ce7ea02770bacd79ec8b1 (Fixed in: c2c60da05d5c73621d0ce7ea02770bacd79ec8b1) c2c60da 署名検証における論理反転の修正 --- a/gitverify/verify.go +++ b/gitverify/verify.go @@ -711,7 +711,7 @@ func validateTag(tag *plumbing.Reference, state *gitkit.RepoState, repoConfig *R return err } case SignatureTypeNone: - if !repoConfig.requireSignedTags { + if repoConfig.requireSignedTags { return fmt.Errorf("unsigned annotated tag: %s", t.Name) } default: github.com/supply-chain-tools/gitverify パッケージをパッチバージョンへ更新。 CI/CD パイプライン内でインデペンデントなコミット署名検証を実装し、ディフェンス・イン・ディプスとしての対策を導入する。 Remediation Steps: github.com/supply-chain-tools/gitverify パッケージを利用するすべてのプロジェクトとパイプラインを特定する。 コミット c2c60da05d5c73621d0ce7ea02770bacd79ec8b1 を含むパッケージ依存関係を更新する。 gitverify ライブラリを含めた静的バイナリを再コンパイルする。 テストリポジトリに署名なしの付注されたタグをプッシュし、gitverify がそれを正しく拒否することを確認する。 GitHub Advisory Page リポジトリ Fix Commit より詳細な情報、包括図、および完全な Exploit 解析を含めて、GHSA-H829-5CG7-6HFF のフルレポートを読み取ってください。

Original Content

GHSA-H829-5CG7-6HFF: Improper Tag Signature Verification in Gitverify Vulnerability ID: GHSA-H829-5CG7-6HFF CVSS Score: 5.3 Published: 2026-04-24 The gitverify tool contains a logic inversion vulnerability in its signature verification routines. This flaw allows unsigned annotated Git tags to bypass security policies intended to enforce cryptographic signatures. A logic inversion in gitverify allows unsigned annotated Git tags to bypass security policies. Attackers can inject unsigned references into supply chains relying on this tool for integrity verification. CWE ID: CWE-347 Secondary CWE: CWE-697 Attack Vector: Network CVSS Score: 5.3 Impact: Integrity Bypass Exploit Status: None github.com/supply-chain-tools/gitverify gitverify: < c2c60da05d5c73621d0ce7ea02770bacd79ec8b1 (Fixed in: c2c60da05d5c73621d0ce7ea02770bacd79ec8b1) c2c60da Fix logic inversion in tag signature verification --- a/gitverify/verify.go +++ b/gitverify/verify.go @@ -711,7 +711,7 @@ func validateTag(tag *plumbing.Reference, state *gitkit.RepoState, repoConfig *R return err } case SignatureTypeNone: - if !repoConfig.requireSignedTags { + if repoConfig.requireSignedTags { return fmt.Errorf("unsigned annotated tag: %s", t.Name) } default: Update the github.com/supply-chain-tools/gitverify package to the patched version. Implement independent commit signature verification in CI/CD pipelines as a defense-in-depth measure. Remediation Steps: Identify all projects and pipelines utilizing the github.com/supply-chain-tools/gitverify package. Update the package dependency to include commit c2c60da05d5c73621d0ce7ea02770bacd79ec8b1. Recompile any static binaries that incorporate the gitverify library. Verify the fix by pushing an unsigned annotated tag to a test repository and confirming that gitverify correctly rejects it. GitHub Advisory Page Repository Fix Commit Read the full report for GHSA-H829-5CG7-6HFF on our website for more details including interactive diagrams and full exploit analysis.