世界を動かす技術を、日本語で。

Gpg.fail

2025年12月28日原文(gpg.fail)

概要

GnuPGやminisignなどの暗号ツールにおける複数の脆弱性について解説。 攻撃手法や影響範囲、具体的な脆弱性例を箇条書きで整理。 各問題点ごとに分かりやすく要点をまとめる。 セキュリティ上の注意点や対策の必要性を強調。 実際の攻撃例や影響を簡潔に紹介。

GnuPGおよび関連ツールにおける主な脆弱性

  • Multiple Plaintext Attack による Detached PGP Signature の脆弱性

    • 複数の平文を利用した署名検証の回避
    • 署名の信頼性低下リスク
  • GnuPG Accepts Path Separators and Path Traversals in Literal Data "Filename" Field

    • ファイル名フィールドにパス区切り文字やディレクトリトラバーサルを許容
    • 任意のパスへのファイル書き込みや情報漏洩の危険性
  • Cleartext Signature Plaintext Truncated for Hash Calculation

    • ハッシュ計算時に平文が切り捨てられる問題
    • 署名検証が不完全となるリスク
  • Encrypted message malleability checks are incorrectly enforced causing plaintext recovery attacks

    • メッセージ改ざん耐性チェックの不備
    • 平文復元攻撃が可能となる脆弱性
  • Memory Corruption in ASCII-Armor Parsing

    • ASCII-Armor解析時のメモリ破損
    • リモートからのコード実行やサービス停止の危険性
  • Trusted comment injection (minisign)

    • minisignにおける信頼コメントのインジェクション
    • 偽の信頼情報付与や混乱の恐れ
  • Cleartext Signature Forgery in NotDashEscaped header implementation in GnuPG

    • NotDashEscapedヘッダー実装における署名偽造
    • 攻撃者による不正署名作成の可能性
  • OpenPGP Cleartext Signature Framework Susceptible to Format Confusion

    • フォーマット混乱を利用した攻撃
    • 署名・メッセージ内容の誤認リスク
  • GnuPG Output Fails To Distinguish Signature Verification Success From Message Content

    • 署名検証結果とメッセージ内容の区別不能
    • ユーザーが誤認しやすい仕様
  • Radix64 Line-Truncation Enabling Polyglot Attacks

    • Radix64エンコーディング時の行切り捨て
    • 複数形式ファイル(polyglot)による攻撃
  • GnuPG may downgrade digest algorithm to SHA1 during key signature checking

    • 署名検証時にハッシュアルゴリズムがSHA1へダウングレード
    • 安全性の低いアルゴリズム利用によるリスク
  • GnuPG Trust Packet Parsing Enables Adding Arbitrary Subkeys

    • Trust Packet解析時に任意サブキー追加可能
    • 鍵管理の信頼性低下

セキュリティ上の注意点と対策

  • 常に 最新バージョン のGnuPGやminisignを利用
  • 不審な署名やファイル名、コメントの検証徹底
  • 公式アドバイザリやパッチ情報の定期的な確認
  • セキュリティ監査や脆弱性診断の実施

まとめ

  • GnuPGやminisignなどの暗号ツールには 多様な脆弱性 が存在
  • 攻撃者による 署名偽造情報漏洩コード実行 のリスク
  • 適切なアップデートと運用管理が セキュリティ確保 の鍵

Hackerたちの意見

CCCのトークからのゼロデイ情報だね。https://fahrplan.events.ccc.de/congress/2025/fahrplan/event/... でも、Werner Kochへの信頼はもうないな。修正しないのかな?

「Werner Kochへの信頼がなくなった」ってどういう意味?もう少し詳しく教えてくれる?

正直言って、今の時点でGPGは基本的に数十年も無駄な存在になってる。セキュリティを真剣に考えてる人は、GPGの代わりになる新しい良いツールを使ってるよ。でも、「すべてを支配する一つの指輪」なんてないからね。

サイトがダウンしてるみたい?トークで発表されたエクスプロイトのまとめがあるスレッドを見つけたよ。https://bsky.app/profile/filippo.abyssdomain.expert/post/3ma...

サイトが過負荷かもね。「ちょっと待って、今対応中だよ!!!」って言ってたけど、トーク中はこのページでライブストリームが見れたんだ。メディアが投稿したら、録画に差し替えてくれるといいな。数時間以内にはアップされるはず。

これ、ちょっと落ち込むね。サイトがダウンしてる間に集めた情報によると、GnuPGに14個の脆弱性が見つかったみたいで、そのほとんどが未修正なんだって。中にはメンテナが修正を拒否してるものもあるらしい。拒否する理由があるのかもしれないけど、他の人も意見をくれるといいな。これってXKCD-2347のケースなの?それとも他に何かあるのかな?ほとんどのLinuxディストリビューションはPGPがかなり安全であることに依存してるし、IBMとかも余裕のある開発者や資金を提供できるはずだよね?

サイトがダウンしてるからまだ読んでないけど、他のコメントを見る限り、クリアテキスト署名に関する問題みたい。昔のメーリングリストのアーカイブ以外では見たことないな。今はみんな、メール用にPGP/MIMEみたいな分離署名を使ってるし。

確かにIBMやその関連企業には、余剰の開発者や余剰の資金があるはずだよね? GPGの問題の大部分は、資金や開発者の時間ではない。根本的に暗号使用に対する悪い設計なんだ。あらゆるユーザーやユースケースに対応しようとするあまり、開発者やユーザーの足元をすくうようなものになってしまっている。これを解決するには、代替の目的特化型ツールに移行することだね。メッセージングにはSignalやWhatsApp、ファイル暗号化にはage、署名にはminisignなど。

「ほぼすべてのLinuxディストリビューションがPGPの安全性に依存している」と言っているなら、Linuxのパッケージマネージャーでパッケージに署名するための使い方を指しているのだろうけど、彼らはPGPをかなり制約された方法で使っていることに注意が必要だ。特に、データは信頼できるサーバーからHTTPS経由でダウンロードされるため、すでに信頼されていることが多い(そのためPGPが冗長になっている部分もある)。だから、ほとんどのPGPの脆弱性は彼らには影響しない。もしPGPの脆弱性が実際にRHELやFedoraシステムに無許可の更新を押し込むことを可能にするものであれば、たぶんIBMは気にするだろうけど、もしPGPのセキュリティ問題が深刻な脅威だと結論づけたら、PGPを安全にするために投資を始めるよりも、PGPからの移行を始める可能性が高いと思う。前者の方が対処しやすく、保守性の利点もあるしね。

AFAICT、これはGnuPG特有の問題でOpenPGPとは関係ないのかな?GnuPGは規格準拠から外れちゃったし、もっと良い選択肢がたくさんあるよ。Sequoia chameleonなんかは、ほとんどのワークフローに対応したツールもあるし。

主要なPGP実装のすべて、GNU PGPだけじゃなくて、sequoia、minisign、ageにも重大なパーサーの欠陥があることが示されたんだ。でも、私たちにはgpgが一番印象が悪かった。修正しないってことだね。

いや、clearsigの問題はopenpgp標準自体にあるんだよ。

Hacker Newsで議論の続きを見る