最近、OpenSSH はリモートコード実行の脆弱性(CVE-2024-6387)を修正しました。この脆弱性は、OpenSSH サーバー(sshd)のシグナルハンドラ競合の問題によって引き起こされ、認証されていない攻撃者がこの脆弱性を利用して Linux システムで root として任意のコードを実行することができます。現在、この脆弱性の技術的な詳細(概念実証コード、PoC を含む)がインターネット上で公開されています。この脆弱性に影響を受けるユーザーは、できるだけ早く最新バージョンにアップグレードしてこの脆弱性を修正することをお勧めします。
影響範囲#
- OpenSSH < 4.4p1
- 8.5p1 <= OpenSSH < 9.8p1
修正目標#
OpenSSH >= 9.8p1
修正手順#
OpenSSH: リリースノートを参照してください。
9.8p1 を選択します。
現在のインストールバージョンを確認します。dnf
コマンドが実行できない場合は、dnf
をyum
に置き換えてください。
dnf list installed openssh
現在実行中のバージョンを確認します。
ssh -V
パッケージマネージャーでインストール可能なバージョンを確認します。
dnf list available openssh
OpenSSH >= 9.8p1 の条件を満たしていないことがわかりました。OpenSSH をダウンロードしてインストールします。
wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
解凍します。
tar -xzf openssh-9.8p1.tar.gz
cd openssh-9.8p1
現在のインストールディレクトリを確認します。
which sshd && which ssh
場所は /usr/bin/ssh
です。
インストール場所に基づいて、以下のコマンドのprefix
パラメータを調整します。
sudo ./configure --prefix=/usr
次に、
make
sudo make install
更新状況を確認します。
ls -l /usr/bin/ssh
ls -l /usr/sbin/sshd
現在のバージョンを確認します。
ssh -V
更新が完了しました。
Linux に SSH で接続している場合、接続を切らないでください。新しいターミナルで Linux に再度接続し、接続が成功したら切断してください。接続できない場合は、問題を解決してください。