Skip to content

ASAv の CiscoSSH スタック有効 / 無効時で CVE-2024-6387 の影響有無を確認する

通称「regreSSHion」こと CVE-2024-6387 ですが、Remote Unauthenticated Code Execution Vulnerability in OpenSSH Server (regreSSHion): July 2024 には ASA の修正バージョンは以下と記載されています。

  • 9.18.4.34
  • 9.20.3 (Aug 2023)

CSCwk62296 - Address SSP OpenSSH regreSSHion vulnerability には以下の記載があります。

Conditions:

Please not that not all past software releases are affected, this is due to the fact that OpenSSH is either not in use or included in a version that is not affected by this CVE.

For ASA:

  • releases up to 9.16 (included) are NOT affected
  • releases 9.17 and 9.18 are affected, only if CiscoSSH is configured on the ASA. By default, CiscoSSH is not configured.

For FTD:

  • releases up to 7.0.6 (included) are NOT affected

今回は「ASAv の CiscoSSH スタック有効時 / 無効時」各々で CVE-2024-6387 の影響有無を確認してみます。

検証環境

対象 バージョン
ASAv 9.20(2)2
Ubuntu 24.04LTS

CiscoSSH スタックとは

Cisco ASA ではバージョン 9.17(1) から ssh stack ciscossh というコマンドが導入されているそうです。 またバージョン 9.19(1) からはデフォルトで有効になっているそうです。 コマンドリファレンスには以下の記載があります。

使用上のガイドライン

ASA は、SSH 接続用に 2 つの SSH スタック(独自の SSH スタックまたは CiscoSSH スタック)をサポートします。CiscoSSH は OpenSSH をベースとしています。Cisco SSH は次をサポートします。

  • FIPS の準拠性
  • シスコおよびオープンソースコミュニティからの更新を含む定期的な更新

CiscoSSH スタックは次をサポートしないことに注意してください。

  • VPN を介した別のインターフェイスへの SSH(管理アクセス)
  • EdDSA キーペア
  • FIPS モードの RSA キーペア

これらの機能が必要な場合は、ASA SSH スタックを使用する必要があります。

確認用 Python スクリプト

GitHub で CVE-2024-6387 の確認用スクリプトを探したところ、下記が見つかりました。 但し、Ubuntu24.04LTS で後者を実行するとエラーになってしまった為、今回は前者を利用します。

git clone した Python スクリプトの引数に「確認対象ホストの IP アドレス」を指定するだけです。

1
2
3
git clone --depth 1 https://github.com/xaitax/CVE-2024-6387_Check.git
cd CVE-2024-6387_Check/
python3 CVE-2024-6387_Check.py 10.0.0.1

CiscoSSH スタック有効時 (デフォルト)

CiscoSSH スタック有効時の確認結果は以下の通りです。「 Servers likely vulnerable 」と表示されているので「脆弱」と判定されているようです。

ASA 側のコンフィグ / 状態

# show running-config all ssh
ssh stack ciscossh
ssh stricthostkeycheck
ssh timeout 60
ssh cipher encryption medium
ssh cipher integrity high
ssh key-exchange group dh-group14-sha256
ssh 0.0.0.0 0.0.0.0 management
# show ssh
ssh secure copy : DISABLED
ciscoSSH stack  : ENABLED
Idle Timeout: 60 minutes
Version allowed: 2
Cipher encryption algorithms enabled:  aes128-gcm@openssh.com aes256-ctr   aes256-cbc   aes192-ctr   aes192-cbc   aes128-ctr   aes128-cbc   chacha20-poly1305@openssh.com
Cipher integrity  algorithms enabled:  hmac-sha2-256

Hosts allowed to ssh into the system:
0.0.0.0 0.0.0.0 management

Python スクリプト実行結果

# python3 CVE-2024-6387_Check.py 10.0.0.1


                                      _________ _________ ___ ___ .__
_______   ____   ___________   ____  /   _____//   _____//   |   \|__| ____   ____
\_  __ \_/ __ \ / ___\_  __ \_/ __ \ \_____  \ \_____  \/    ~    \  |/  _ \ /    \
 |  | \/\  ___// /_/  >  | \/\  ___/ /        \/        \    Y    /  (  <_> )   |  \
 |__|    \___  >___  /|__|    \___  >_______  /_______  /\___|_  /|__|\____/|___|  /
             \/_____/             \/        \/        \/       \/                \/
    CVE-2024-6387 Vulnerability Checker
    v0.8 / Alex Hagenah / @xaitax / ah@primepage.de


Progress: 1/1 checks performed

🛡️ Servers not vulnerable: 0

🚨 Servers likely vulnerable: 1
   [+] Server at 10.0.0.1 (running SSH-2.0-OpenSSH_9.1 PKIX[13.5])

⚠️ Servers with unknown SSH version: 0

🔒 Servers with port(s) closed: 0

📊 Total scanned hosts: 1
📊 Total port checks performed: 1

CiscoSSH スタック無効時

CiscoSSH スタック無効時の確認結果は以下の通りです。「 Servers with unknown SSH version 」と表示されているのでで、影響有無の判定に失敗しているようです。

ASA 側のコンフィグ / 状態

# show running-config all ssh
no ssh stack ciscossh
ssh stricthostkeycheck
ssh timeout 60
ssh version 2
ssh cipher encryption medium
ssh cipher integrity high
ssh key-exchange group dh-group14-sha256
ssh 0.0.0.0 0.0.0.0 management
# show ssh
ssh secure copy : DISABLED
ciscoSSH stack  : DISABLED
Idle Timeout: 60 minutes
Version allowed: 2
Cipher encryption algorithms enabled:  aes128-gcm@openssh.com aes256-ctr   aes256-cbc   aes192-ctr   aes192-cbc   aes128-ctr   aes128-cbc   chacha20-poly1305@openssh.com
Cipher integrity  algorithms enabled:  hmac-sha2-256

Hosts allowed to ssh into the system:
0.0.0.0 0.0.0.0 management

Python スクリプト実行結果

# python3 CVE-2024-6387_Check.py 10.0.0.1


                                      _________ _________ ___ ___ .__
_______   ____   ___________   ____  /   _____//   _____//   |   \|__| ____   ____
\_  __ \_/ __ \ / ___\_  __ \_/ __ \ \_____  \ \_____  \/    ~    \  |/  _ \ /    \
 |  | \/\  ___// /_/  >  | \/\  ___/ /        \/        \    Y    /  (  <_> )   |  \
 |__|    \___  >___  /|__|    \___  >_______  /_______  /\___|_  /|__|\____/|___|  /
             \/_____/             \/        \/        \/       \/                \/
    CVE-2024-6387 Vulnerability Checker
    v0.8 / Alex Hagenah / @xaitax / ah@primepage.de


Progress: 1/1 checks performed

🛡️ Servers not vulnerable: 0

🚨 Servers likely vulnerable: 0

⚠️ Servers with unknown SSH version: 1
   [+] Server at 10.0.0.1 (10.0.0.1) (banner: SSH-2.0-Cisco-1.25)

🔒 Servers with port(s) closed: 0

📊 Total scanned hosts: 1
📊 Total port checks performed: 1

参考