Qualys Threat Research Unit(TRU)は7月1日(現地時間)、glibcベースのLinuxシステムで使用されているOpenSSHサーバー(sshd)に、リモートから認証なしでコードを実行できる(RCE)脆弱性「regreSSHion(CVE-2024-6387)」を発見したことを発表しました。
脆弱性はOpenSSHサーバーのシグナルハンドラの競合状態が原因で、glibcベースのLinuxシステムで、認証されていない状態でrootとしてリモートコード実行(RCE)を許してしまいます。競合状態は、デフォルト設定のsshdに影響します。
今回発見された脆弱性は2006年に報告され、一度パッチが適用された脆弱性CVE-2006-5051のリグレッションであることが確認されています(リグレッションとは一旦修正された欠陥が、その後のソフトウェアリリースで再び現れることを意味しています)。
影響を受けるOpenSSHのバージョンは以下の通りです。
- OpenSSH 4.4p1より前のバージョンは、CVE-2006-5051およびCVE-2008-4109のパッチを当てない限り脆弱性が影響する。
- OpenSSH 4.4p1から8.5p1のバージョンは、CVE-2006-5051対するパッチによって、以前は安全でなかった関数が安全になっているため脆弱性は存在しない。
- OpenSSH 8.5p1以降のバージョン(ただし9.8p1を含まない)は関数中の重要なコンポーネントが偶発的に削除されたために脆弱性の影響をうける。
なおOpenBSDは2001年にこの脆弱性を防ぐメカニズムを開発しているためバグの影響を受けMルkとおはありません。
regreSSHionの脆弱性が悪用された場合、攻撃者は最高権限で任意のコードを実行することができ、システムの完全な乗っ取り、マルウェアのインストール、データ操作、永続的なアクセスのためのバックドアの作成などが可能となります。
ルートアクセスを得ることで、攻撃者はファイアウォール、侵入検知システム、ロギング・メカニズムなどの重要なセキュリティ・メカニズムをバイパスすることが可能になり、機密情報や占有情報を含む、重要データにアクセス可能となり、データの漏洩につながる可能性があります。
脆弱性は「OpenSSH 9.8/9.8p1」で修正されており、LinuxサーバーでOpenSSHサーバー動かしている管理者はできるだけ早期にアップデートすることが推奨されます。
なおOpenSSHがアップデートできない場合は/etc/ssh/sshd_configを編集し、LoginGraceTimeを0にすることで問題を回避することができます。この設定によりsshdがサービス拒否にさらされる危険があるもののの、リモートコード実行は回避できるとのこと。
/etc/ssh/sshd_configを編集:
LoginGraceTime 0
このあとデーモンを再起動します。
systemctl restart sshd.service