注目★★★★★GitHub Advisory
ConnectBot SSH Client: DER 秘密鍵パース処理に整数オーバーフローの脆弱性
30秒で把握
- 1ConnectBot DER パーサーで整数オーバーフロー・過大割り当ての脆弱性を確認
- 2細工秘密鍵で 1 GiB 確保を誘発し OutOfMemoryError でプロセス終了の恐れ
- 3暗号鍵の漏洩・弱体化なし・エラーハンドラ未捕捉が被害拡大の要因
要約
ConnectBot SSH クライアントライブラリの DER パーサーに、整数オーバーフローと過大メモリ割り当てを引き起こす脆弱性が確認された。`DerReader.readLength()` が長さフィールドを `Int` へ変換する際にオーバーフローチェックを行わず、例えば `0x8000_0000` が `Int.MIN_VALUE` に丸まる。細工した秘密鍵ファイルを読み込ませると 1 GiB の配列確保を試み、制約ヒープ環境では `OutOfMemoryError` でアプリプロセスが終了し得る。`OutOfMemoryError` は `Exception` でないため公開鍵認証のエラーハンドラに捕捉されない点が問題で、クリプト鍵の漏洩や弱体化は確認されていない。
あなたへの影響
ConnectBot SSH クライアントライブラリを Android / JVM アプリに組み込んでいるチームは、修正済みバージョンへの更新と、外部から供給される秘密鍵ファイルの入力経路の確認を行うこと。
推奨:即時の暗号鍵漏洩リスクはないが、DoS によるプロセス終了が起こり得るため、業務用 SSH ツールでの利用は今週中に対応版の有無を確認するのが望ましい。