KiTTY に3つの脆弱性:深刻な RCE 攻撃の可能性と PoC の存在

KiTTY Triple Threat: Millions of Users Exposed to RCE Flaws, No Patch Available!

2024/02/10 SecurityOnline — PuTTY SSH/telnet クライアントの人気フォークである KiTTY に、3つの脆弱性が存在することが、セキュリティ研究者の Austin A. DeFrancesco (別名:DEFCESCO) により明らかになった。世界中で 2,000 万以上のダウンロードを誇る KiTTY であるため、様々な Windows OS ユーザーにとって、この脆弱性は深刻なリスクとなる。


DeFrancesco の研究により発見された、KiTTY の3件の脆弱性は、リモート・コード実行 (RCE) につながる可能性がある。これらの脆弱性は、KiTTY がスタートした 2021年5月から存在しており、0.76.1.13 以下の全てのバージョンに影響をおよぼす。コードの奥深くに存在する一連の脆弱性は、これまで発見されなかったが、何百万人ものユーザーが悪用の可能性にさらされていたことになる。

CVE-2024-23749/CVE-2024-25003/CVE-2024-25004 と採番された一連の脆弱性は、リモート・サーバーから送信された特定のコマンドを、KiTTY が処理する方法に起因している。

1つ目の脆弱性 CVE-2024-23749 は、kitty.c ファイルの GetOneFile 関数内に存在する。この欠陥は、ANSI エスケープシーケンス “ \033]0;__rv” により生じ、攻撃者による KiTTY への任意のコマンド注入を可能にするものであり、最終的にはシステムへの不正なアクセス/制御につながる可能性がある。この脆弱性は、不十分な入力検証と安全でないシステムコールに起因しており、攻撃者は KiTTY を実行しているユーザーの権限でコードを実行できるようになる。

残りの2つの脆弱性 CVE-2024-25003/CVE-2024-25004 は、どちらも kitty.c ファイル内のスタックバッファ・オーバーフローに起因する脆弱性である。これらの脆弱性は、ANSI のエスケープ・シーケンスである  ˶033]0;__dt により有効化され、攻撃者によるホスト名/ユーザー名の操作を可能にするものであり、コードの任意の実行にいたるとされる。境界チェックと入力サニタイズが不十分になる結果として KiTTY はメモリ破壊の影響を受けやすくなり、攻撃者にシステム・リソースへの不正アクセスを許してしまう。

これらの脆弱性の発見者である DeFrancesco は、その深刻さを示すために、KiTTY のコードの欠陥をターゲットにした3つの PoC エクスプロイトを開発した。これらのエクスプロイトが実行されると、攻撃者にリモート・コード実行機能が与えられ、ユーザーのシステムが危険にさらされる。KiTTY はデフォルトで、標準ユーザー権限グループ内で動作しているため、これらのエクスプロイトの潜在的影響は大きく、Windows 11/10/8/7/XP のユーザーに影響を与える。

しかし彼の努力にもかかわらず、現時点においてはパッチが存在しないため、ユーザーは潜在的な悪用にさらされたままだ。修正プログラムの目処も立っていないため、KiTTY ユーザーはリモート攻撃に対して脆弱な状況にあり、ソフトウェアの開発者による早急な対応が求められている。