CVE-2024-31497: Critical PuTTY Vulnerability Exposes Private Keys – Immediate Action Required
2024/04/15 SecurityOnline — 一般的な SSH クライアントである、PuTTY バージョン 0.68〜0.80 に存在する、深刻な脆弱性 CVE-2024-31497 が発見された。この脆弱性は、FileZilla/WinSCP/TortoiseGit/TortoiseSVN などの、広範なソフトウェアに影響を及ぼす。この脆弱性の悪用に成功した攻撃者は、NIST P-521 曲線を用いた ECDSA アルゴリズムで使用される秘密鍵を大幅に弱体化させ、容易に復元できる状態にするという。この欠陥は、Ruhr 大学 Bochum.の、セキュリティ研究者である Fabian Bäumer と Marcus Brinkmann により発見された。
問題点
脆弱性 CVE-2024-31497 は 、PuTTY が ECDSA 署名プロセスで使用する、ランダム値 (nonces) を生成する方法に起因する。NIST P-521 の設定では、ランダム性に大きな偏りが生じている。この偏りを悪用する攻撃者は、漏洩した鍵で作成された署名を、わずか 60 ほど収集した後に、秘密鍵を再構築することが可能になるという。
誰が危険にさらされるのか?
影響を受けるバージョンの PuTTY や Filezilla などを、ECDSA NIST P-521 鍵を使用した SSH 認証に使用している、すべての人々が脆弱な状況にある。攻撃者が試行できるアクションとしては、接続先の SSH サーバの容易な侵害/鍵を使用した公開ソース (署名済みの Git コミットなど) からの署名の取得などがある。
この脆弱性は、PuTTY のユーザーに影響するだけではなく、他のいくつかのツールにも理教が及ぶ:
- FileZilla:バージョン 3.24.1〜3.66.5
- WinSCP:バージョン 5.9.5〜6.3.2
- TortoiseGit:バージョン 2.4.0.2〜2.15.0
- TortoiseSVN:バージョン 1.10.0〜1.14.6
結果
漏洩した秘密鍵により、悲惨な結果がもたらされる。あなたに、なりすました攻撃者が、その鍵を認証に使っている、すべてのサーバにアクセスする可能性が生じる。この脆弱性に対してパッチが適用された後でも、その被害は継続する。つまり、すでに公開された鍵は、永久に危険にさらされる。
行うべきこと
- 脆弱な鍵を特定する: ECDSA NIST P-521 鍵の使用の有無を確認する。PuTTYgen では、フィンガープリントは “ecdsa-sha2-nistp521” で始まる。
- 危殆化した鍵を失効させる: サーバ上の全ての authorized_keys ファイルと、それらが使用されているオンラインサービス (GitHub など) から、漏洩した公開鍵を削除する。
- 新しい鍵を生成する: 漏洩した鍵の代わりに、新しい鍵ペアを作成する。理想的には、影響を受けない Ed25519 を使用すべきだ。
- ソフトウェアのアップデート:PuTTY を直ちにバージョン0.81 以降にアップデートする。FileZilla 3.67.0/WinSCP 6.3.3/TortoiseGit 2.15.0.1/TortoiseSVN においても、同様にアップデートする。TortoiseSVNを 更新できない場合には、SSH 接続において、更新された PuTTY Plink を使用するように切り替えてほしい。
その他の注意事項
- この欠陥は、受動的なネットワーク・スヌーピングにより、シグネチャが公開されるものではない。攻撃者は、サーバを能動的に制御し、また、署名されたデータにアクセスする必要がある。
- 他の ECDSA 鍵サイズでは、若干の偏りが見られるが、現時点では実用的に悪用可能ではないという。
漏洩した鍵で作成された署名を 60 個ほど収集すれば、秘密鍵を再構築することが可能になるという、とても怖い脆弱性です。つい先日の 2024/02/10 には、「KiTTY に3つの脆弱性:深刻な RCE 攻撃の可能性と PoC の存在」という記事もありました。よろしければ、PuTTY で検索も、ご利用ください。
You must be logged in to post a comment.