
IvantiのAvalancheパストラバーサル脆弱性の公開開示
Ivanti Avalanche に新たな脆弱性が発見されました。Avalanche Server v6.3.4.153 でテストされ、CVE-2023-41474 として識別されています。
これは限定的な認証不要のパストラバーサル脆弱性であり、デフォルト構成では、認証されていない攻撃者が
C:\\PROGRAM DATA\\Wavelink\\AVALANCHE\\Web\ webapps\AvalancheWeb 配下の任意のファイルにアクセスできることを意味します。ただし、表示されるのは .xml や .html など一部のファイル拡張子のみに限定されます(他にもいくつかあり、.htaccess のルールにも依存します)。
この問題を悪用するために、攻撃者は以下の URL を使用できます:
<domain>/AvalancheWeb//faces/javax.faces.resource/<file>?loc=<directory>
例として、攻撃者は親ディレクトリ WEB-INF 配下の web.xml ファイルにアクセスできます。リクエストを変更することで、任意のサブディレクトリ内の任意のファイルにアクセスできます。
攻撃を再現するには、wget や curl などのプログラムを基本的な引数で使用できます。
以下の BurpSuite のスクリーンショットは、悪用に成功した例として参照できます。

実際のシナリオでは、認証されていない攻撃者は、機密性への影響が低い状態で構成設定やその他の内部情報にアクセスできます。
ただし、一部のシナリオでは、このディレクトリ内にセッションハイジャックに使用でき、サーバーを完全に侵害できるファイルが存在します。
攻撃者が管理者権限を保持している場合(または、管理者が以前にこの手順を実行している場合)、Avalanche プロセスのヒープダンプを実行できます(この機能は元々デバッグ目的で存在します)。この機能は
Tools > Support and Licensing > Web Application Server > "Heap Dump" および/または "Thread Dump" にあります。

サーバーからの正常な応答には、プロセスダンプが保存されているパスが含まれます。

ファイルは C:\Program Files\Wavelink\Avalanche\Web\webapps\ AvalancheWeb\dump.hprof に保存されるため、パストラバーサル攻撃を介してよりアクセスしやすくなります。ここで、攻撃者はダンプファイルをダウンロードして分析を実行します。
wget --no-check-certificate '<domain>/AvalancheWeb//faces/javax.faces .resource/dump.hprof?loc=../'
基本的な文字列検索を実行することで、ログインリクエストのボディがまだメモリ内に存在することを確認できます。

ボディ内では、ユーザー名とパスワードが攻撃者に公開されています。攻撃者はこの情報を使用して、権限を昇格したり、環境内で横方向に移動したりできます。