合格が不合格に:Simple Password Store に GnuPG スプーフィングバグが発生

Table of Contents

合格が不合格に:Simple Password Store に GnuPG スプーフィングバグが発生

セキュリティ研究者の Marcus Brinkmann 氏は、GnuPG 暗号化ライブラリに新たな脆弱性を発見しました。今回は、Simple Password Store に特有のものです。

ブリンクマン氏は、CVE-2018-12356 はパスワードへのアクセスとリモートコード実行の両方を可能にすると説明した。

このバグは GnuPG の署名検証ルーチンの不完全な正規表現であり、攻撃者が設定ファイルや拡張スクリプト上のファイル署名を偽装できることを意味します (Brinkmann 氏は、このバグを自身が発見した 3 番目の署名偽装バグとして「SigSpoof 3」と名付けました)。

「設定ファイルを改変することで、攻撃者は自身の管理下にある追加の暗号化キーを挿入することができ、パスワードを攻撃者に漏洩する可能性があります。また、拡張スクリプトを改変することで、攻撃者は任意のコードを実行できるようになります」とブリンクマン氏は勧告に記している。

これは比較的小さな問題に見えるが、ブリンクマン氏はThe Registerに対し、広範囲に及ぶ影響を及ぼす可能性があると説明した。

ヘッドデスク

GnuPG に「偽のファイル名」を阻止するパッチが適用

続きを読む

まず、ここ3週間、そして今もなお、私の最大の懸念は、フリーソフトウェアコミュニティの重要なインフラにおいて、GnuPGによる署名検証が不十分なものがあるかもしれないということです。この問題についてはコミュニティへの通知である程度進展がありましたが、現在も調査が続いており、SigSpoofのアップデート(El Regによる今回のようなバグへの対応)が間もなく行われる予定です。

ブリンクマン氏は過去にもGnuPGの情報開示プロセスについて不満を述べていたが、それ以上のコメントは控え、コミュニティへの通知とコードの修正に注力しているとThe Registerに語った。

ブリンクマン氏は自身のNeoPGブログでこのバグについて説明し、このバグはGnuPGとPassにおける2つの設計上の弱点から生じたものだと書いている。「PassはVALIDSIG出力行のどの位置でもGnuPGステータスメッセージ(有効な署名とそれに対応する鍵の詳細を示す)と一致します。[そして]GnuPGはステータス行の末尾に署名鍵のプライマリユーザーIDをGOODSIG空白をエスケープせずに出力します。」

(NeoPG は、Brinkmann 氏による GnuPG 2 の「意見を述べたフォーク」であり、「コードを整理して開発を容易にする」ように設計されています。)

独立系セキュリティ研究者の Jason Donenfeld 氏が Pass の修正をこちらで発表しており、コードはこちらから入手できます。

GnuPG の修正に貢献している人の 1 人は、モーリシャスの開発者 Logan Velvindron です。彼は Hackers.mu チームの一員で、TLS 1.3 に関する作業については以前取り上げました。

Velvindron 氏は、Brinkmann 氏が発見したような脆弱性を継承している下流プロジェクトがどれだけあるかを特定するのは難しいが、GnuPG 暗号化スイートは電子メール保護以外にも応用されているため、問題となるプロジェクトの数はおそらく少なくないだろうと語った。

「我々はマーカスと協力して、できる限り多くの修正を推進している」と彼は述べ、ビットコイン、ライトコイン、ダッシュシェルなどのプロジェクトを例に挙げた。

Brikmann 氏の新しいバグは、ここ数週間で GnuPG で発見された 3 番目のバグであるため、The Register は、なぜこれほど短期間にこれほど多くのバグが検出されたのかを Velvindron 氏に尋ねました。

Velvindron 氏は、「誰もが GPG を同じ方法で解析しており、『詳細な出力の問題は何か?』や『この文字列が別の場所にあったらどうなるか?』といった質問について考えていないからだ」と示唆しました。

GnuPG の作業に参加している Hackers.mu の参加者には、Logan のほか、Codarren Velvindron、Nitin Mutkawoa、Rahul Golam、Kifah Meeran、Nigel Yong などがいます。®

Discover More