Juniper の脆弱性 CVE-2023-36845 に新たな PoC エクスプロイト:悪用が容易な RCE

Thousands of Juniper devices vulnerable to unauthenticated RCE flaw

2023/09/18 BleepingComputer — 推定で 12,000台とされる Juniper SRX Firewall/EX Switche には、認証を必要とせずに悪用が可能な、ファイルレス・リモート・コード実行の脆弱性が存在する。2023年8月に Juniper は、PHP 環境変数操作の脆弱性 CVE-2023-36844/CVE-2023-36845 および、重要な機能に対する認証欠落の脆弱性 CVE-2023-36846/CVE-2023-36847 を公表した。それらの脆弱性の危険度は低いが、連鎖すると CVSS 9.8 という深刻なリモート・コード実行にいたるものでもある。


その後の技術レポートで、watchTowr Labs が、脆弱性 CVE-2023-36845/CVE-2023-36846 の欠陥を連鎖させる PoC を公開している。そこで証明されたのは、脆弱なデバイスにたいして、2つのファイルをアップロードすることで、リモート・コード実行が発生することである。

そして 9月18日には、VulnCheck の研究者である Jacob Baines が、脆弱性 CVE-2023-36845 のみを悪用する、別の PoC エクスプロイトをリリースした。

Baines のレポートには、GitHub 上で脆弱なデプロイメントを特定するための無料スキャナーが公開されており、インターネット上の何千もの脆弱なデバイスの存在が示されている。

VulnCheck のレポートには、「このブログでは、Juniper により深刻度 Medium をされた脆弱性 CVE-2023-36845 を使用して、認証なしでリモートから任意のコードを実行できることを示している。複数ステップによるエクスプロイトを、単一の curl コマンドを使用して記述できるエクスプロイトに変化させた。それは、より多くの (古い) システムに影響を及ぼすように見える」と説明されている。

この脆弱性の影響は、CVSS Meduim が示唆するよりも広範囲に及び、はるかに深刻であるため、管理者は状況を改善するために、直ちに行動を起こす必要がある。

新しいエクスプロイト

Baines によると、このエクスプロイトをテストするために古い Juniper SRX210 ファイアウォールを購入したが、デバイスにファイルをアップロードするために必要な 、do_fileUpload() 関数がないことが判ったという。したがって、watchTowr のエクスプロイト・チェーンは事実上破たんし、リモート・コード実行を実現する別の方法を、彼は調べることになった。

Baines は、環境変数を操作することで、ターゲット・サーバー上に2つのファイルをアップロードする必要性を回避できることを発見した。Juniper ファイアウォールの Appweb ウェブ・サーバは、CGI スクリプトを実行する際も、stdin 経由でユーザーの HTTP リクエストを処理する。これを悪用することで、攻撃者はシステムを騙して擬似的なファイル “/dev/fd/0” を認識させ、PHPRC 環境変数と HTTP リクエストを調整することで、機密データの表示が可能になる。

続いて VulnCheck は、ファイルをアップロードすることなく、data:// プロトコルを介して任意の PHP コードを実行するために、 PHP の “auto_prepend_file” と “allow_url_include” 機能の利用を試みたという。

つまり、脆弱性 CVE-2023-36845 の CVSS は 5.4 であるが、他の欠陥を必要とせずにリモート・コード実行が可能になるため、より高い深刻度で再評価されるべきである。

Proof of concept (PoC) curl command
Proof of concept curl command (VulnCheck)
影響とリスク

脆弱性 CVE-2023-36845 は、EX/SRX シリーズの、以下の Junos OS バージョンに影響する。

  • Version 20.4R3-S8 以下の全て
  • Version 21.1/21.1R1 以降
  • Version 21.2R3-S6 以下
  • Version 21.3/21.3R3-S5 以下
  • Version 21.4/21.4R3-S5 以下
  • Version 22.1R3-S3/22.1 以下
  • Version 22.2R3-S2 以下
  • Version 22.3R2-S2/22.3R3 以下
  • Version 22.4R2-S1/22.4R3 以下

2023年8月17日に Juniper は、一連の脆弱性に対処するセキュリティ更新プログラムをリリースした。しかし、この欠陥が受けた深刻度の評価は低かったことで、影響を受けたユーザーには警告が受け入れられず、その多くはパッチ適用の延期を選択したと考えられる。

VulnCheck のネットワーク・スキャンでは、インターネットに露出した Web インタフェースを持つ Juniper が 14,951件も検出されている。Baines は、3,000台のデバイス・サンプルの 79% に、この RCE の脆弱性があることを発見した。

Shodan scan result
Shodan scan result (VulnCheck)

この割合を、すべての露出したデバイスに適用すると、インターネット上に 11,800台の脆弱なデバイスが存在することになる。

このレポートの末尾には、Shadowserver と GreyNoise が Junos OS のエンドポイントを調査している攻撃者を確認しているため、すでに CVE-2023-36845 を攻撃で悪用する機会が探られていると記されている。

したがって、Juniper の管理者は、可能な限り早急に、これらのアップデートを適用する必要がある。それらには、エンタープライズ・ネットワークへのイニシャル・アクセスとして、悪用される可能性がある。