piyolog

piyokangoの備忘録です。セキュリティの出来事を中心にまとめています。このサイトはGoogle Analyticsを利用しています。

OpenSSHの脆弱性 CVE-2024-6387についてまとめてみた

2024年7月1日、OpenSSHの開発チームは深刻な脆弱性 CVE-2024-6387 が確認されたとしてセキュリティ情報を発出し、脆弱性を修正したバージョンを公開しました。この脆弱性を発見したQualysによれば、既定設定で構成されたsshdが影響を受けるとされ、影響を受けるとみられるインターネット接続可能なホストが多数稼動している状況にあると報告しています。ここでは関連する情報をまとめます。

概要

  • 深刻な脆弱性が確認されたのはOpenSSHサーバー(sshd)コンポーネント。脆弱性を悪用された場合、特権でリモートから認証なしの任意コード実行をされる恐れがある。
  • 悪用にかかる報告などは公表時点でされていないが、glibcベースのLinuxにおいて攻撃が成功することが既に実証がされている。発見者のQualysはこの脆弱性の実証コードを公開しない方針としているが、インターネット上ではPoCとみられる情報が公開されている。
  • OpenSSHの脆弱性修正を含むバージョンがすでに公開されている。複数のLinuxディストリビューションでも脆弱性に関係する更新や情報公開が行われている。

脆弱性情報

共通脆弱性識別子 CVE-2024-6387
脆弱性深刻度 Critical (OpenSSHチーム評価)
CVSSv3.1スコア 8.1 (基本値、Red Hat社評価)
共通脆弱性タイプ CWE-364 / シグナルハンドラの競合状態
悪用等の状況 PoCとみられる情報が公開。(7/2時点、piyokango未検証)
脆弱性の影響 認証されていない攻撃者によって、リモートからroot権限による任意のコマンド実行が行われる可能性がある。
  • Qualysは今回のCVE-2024-6387 が過去の脆弱性の先祖返り(回帰バグ)であることを理由にこの脆弱性を「regreSSHion 」と呼称している。回帰バグとされるのは、2006年に修正されたCVE-2006-5051の回帰であることが判明しているため。
Qualysが作成した脆弱性ロゴ

影響範囲

  • CVE-2024-6387の影響を受けるかはOpenSSHサーバーのバージョンから確認することが可能(バージョン番号だけでなく各ディストリが付与するリリース番号も併せて確認)で、4.4p1(2006年9月7日リリース)より前、または8.5p1(2021年3月3日リリース)から9.8p1より前までのバージョンである場合に影響を受ける可能性がある。
  • 4.4p1より前のバージョンにおいては、CVE-2006-5051、CVE-2008-4109のパッチが適用されている場合は影響を受けない。またOpenBSDは脆弱性悪用の影響を防止する機構が導入されており、影響を受けない。
  • Qualysは同社のテレメトリ情報からインターネットに公開されたホストの3割にあたる約70万件が脆弱な状態にあると推定している。また、censys、shodanより潜在的に影響を受ける可能性(インターネット上で公開されたOpenSSHサーバー)のあるホスト数は約1,400万件を確認したとしている。

攻撃検証の状況

  • ASLR有効化した32bitのLinux/glibcの環境において攻撃が成功することをOpenSSHチームが確認している。理論上は64bit環境でも可能とみられるが7/1時点で実証はされておらず現時点で困難との見立て。ただし今後方法が改良される可能性は高いと同チームではみている。またQualysも現時点では「悪用は困難」との評価をしているが、DeepLearningの進歩により悪用率が大幅に増加する可能性があると将来的なリスク顕在化の懸念を指摘する。Linux以外のmacOS、Windowsも脆弱性の実証が可能な可能性があるが、未検証でありさらなる分析等が必要な状況にある。
  • 実証された攻撃では平均して6時間から8時間程度の連続した接続が必要で、これはサーバー側が受け入れ可能な最大限度まで行われる約1万回の接続を前提としたもの。(最大接続数100、ログイン猶予時間120秒)
  • 攻撃を受けている際は連続した接続試行が行われることから、Logファイルに「Timeout before authentication」という出力が多数行われるため、この特異な出力を通じて攻撃を受けている可能性を把握することが可能。
  • Github等で当該脆弱性の実証コードと称したプログラムが複数公開されている。しかしながら、PaloAltoによれば7月2日時点で悪用にかかる活動は確認されておらず、加えて同社による検証では、現状公開されているコードでリモートコード実行をすることはできなかったと分析した結果を明らかにした。*1

対応方法

  • 脆弱性を修正したバージョン(2024年7月1日時点で9.8p1)に更新する。
  • 脆弱性修正バージョンへの更新が難しい場合は、回避策として「LoginGraceTime」(ログイン試行の接続時間)の設定値を0(タイムアウトを無効)にすることでCVE-2024-6387の影響を軽減することが可能。これによりすべての接続がMaxStartupsでの接続扱い(sshdで受け付けることが可能な最大接続数)となる。ただし当該設定は一般に推奨されておらず、サービス拒否(DoS)の影響を受ける恐れがある点に留意。
  • とりわけインターネット上で接続可能な状態として公開されたホストかどうかについて、可及的速やかに対応が必要かの判断とすることが推奨されている。
  • Qualysはパッチ適用のほか、ネットワークベースのSSHアクセス制御の見直しとネットワークセグメンテーションおよび侵入検知をリスク軽減の措置として紹介している。
回避策(LoginGraceTimeの設定値変更)

次の手順で変更を行う。

  1. Rootユーザーで/etc/ssh/sshd_configを開く
  2. LoginGraceTimeパラメータを追加、または編集する。設定値は0とすること。
  3. 設定ファイルを閉じ、sshdを再起動する。
Linuxディストリの関連情報
ディストリ 影響、修正の状況等
Red Hat Red Hat Enterprise Linux 9 のみ影響あり。修正版リリース済み。
Ubuntu 修正版(openssh 1:8.9p1-3ubuntu0.10)をリリース済み。
Debian 修正版(1:9.2p1-2+deb12u3)をリリース済み。
Gentoo 修正版(openssh-{9.6_p1-r5, 9.7_p1-r6, 9.8_p1})をリリース済み。
Amazon Linux Amazon Linux 2023に影響あり。修正版リリース済
AlmaLinux AlmaLinux OS 9に影響あり。修正版(openssh-8.7p1-38.el9.alma.2)リリース済み。
Rocky Linux Rocky Linux 9に影響あり。修正版(openssh-8.7p1-38.el9_4.security.0.5)リリース済み。
openSUSE/SUSE 複数製品に影響あり。修正版リリース済み。
Slackware Slackware 15.0に影響あり。修正版リリース済み。
Arch Linux セキュリティアドバイザリを公開。更新を呼びかけ。

更新履歴

  • 2024年7月2日 AM 新規作成
  • 2024年7月2日 AM タイトルが誤っていたため修正
  • 2024年7月2日 AM 悪用等の状況を更新(PoCとみられる情報が公開されているため)
  • 2024年7月3日 PM Linuxの関連情報を追記。
  • 2024年7月4日 AM PaloAltoのPoC検証結果について追記。