OpenSSHの脆弱性(Moderate: CVE-2024-6409)

07/09/2024にOpenSSHの脆弱性(Moderate: CVE-2024-6409)が公開されました。regreSSHionとは異なり、悪用対象が現在判明しているところではRHEL9パッケージとなり、悪用による効果も限定的です。こちらもリモートコード実行の脆弱性となり、”-e”オプションによる緩和策が効かないものになっています。今回はこれらの脆弱性の概要と、各ディストリビューションの対応について纏めます。

[過去関連リンク(最新5件)]

CVSS/プライオリティ

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-6409
    • OpenSSH: シグナル処理の競合状態により、privsep子プロセスでのリモートコード実行の可能性
    • OpenSSH 8.7/8.8では、privsep(Privilege Separation: 特権分割)の子プロセスで実行されているときにgrace_alarm_handler()からcleanup_exit()を呼び出します。cleanup_exit()はシグナルハンドラーから呼び出されることを意図しておらず、他のasync-signal-unsafe()関数を呼び出す可能性があります。 現在の理解では、これらのアップストリームバージョンではcleanup_exit()はこれらの条件下では実際には async-signal-unsafe関数を呼び出しませんが、ダウンストリームのディストリビューションパッチを適用すると呼び出されることがあります。 具体的な例では、Red HatのOpenSSHパッケージに含まれるopenssh-7.6p1-audit.patchは、この問題を引き起こすコードを cleanup_exit()に追加します。このパッチはRHEL 9 (およびその互換ディストリビューション) には含まれており、パッケージは OpenSSH 8.7p1 に基づいています。このauditパッチは Fedora にも含まれているため、8.7p1 及び8.8p1に基づいたパッケージが影響を受けます。 Changelogによると、Fedoraのうち影響を受けるのは36,37のみで、35〜37までの一部の更新も影響を受けているようです。これらのバージョンは現在サポート終了となっており、Fedora 38以降は、問題のあるcleanup_exit()を呼び出さない新しいアップストリームバージョンのOpenSSHに移行しています。
    • CVE-2024-6387との違い: CVE-2024-6387との主な違いは、競合によるRCEの可能性が親プロセスと比較して権限の少ない状態で実行されるprivsep子プロセスによりトリガーされることです。そのため、直接的な影響は小さくなります。 ただし、これらの脆弱性の悪用シナリオに違いがある可能性があり、どちらか一方が攻撃者にとってより魅力的な選択肢になる可能性があります。一方だけが修正または軽減されると、もう一方がより重要になります。 特に、”LoginGraceTime 0”による緩和策はどちらの脆弱性にも有効ですが、”-e”による緩和策はCVE-2024-6387にのみ有効で、CVE-2024-6409には有効ではありません。

主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください

対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。

[参考]

タイトルとURLをコピーしました