StrongDMの重大な脆弱性、認証情報の窃取を可能に

StrongDMのWindowsデスクトップアプリケーションに存在する重大な認証脆弱性により、攻撃者は単一の平文ステートファイルを窃取・リプレイするだけでアクティブなユーザーセッションを乗っ取ることができました。パスワードも、フィッシングも、昇格された権限も必要ありませんでした。

CVE-2026-4387として追跡され、CWE-312(機密情報の平文保存)に分類されるこの脆弱性は、SpecterOpsによって発見され、2026年6月1日に公開されました。

ユーザーがStrongDMデスクトップアプリケーションを通じて認証を完了すると、すべてのセッション情報が C:\Users\<username>\.sdm\state.kv に位置するステートファイルに平文で書き込まれます。

このファイルにはJSON Webトークン(JWT)と、公開鍵・秘密鍵からなる非対称鍵ペアが格納されており、認証済みセッションの確立に必要な完全な認証情報一式が含まれているとSpecterOpsは説明しています。

このファイルはデフォルトのユーザーレベルNTFSパーミッションのみで保護されており、標準ユーザーアカウントで動作するローカル攻撃者であれば、権限昇格アラートを発生させることなく読み取りおよびデータの持ち出しが可能でした。

SpecterOpsは、特別なツールを必要としない信頼性の高い攻撃経路を実証しました。

数秒以内に、StrongDMデスクトップアプリケーションは自動的に更新され、USER1の完全に認証済みのセッションを読み込みました。USER1がHOST2にログインしていないにもかかわらず、攻撃者は被害者が持つすべてのインフラリソースへの完全なアクセスを得ることができました。

研究者たちはcurlを使って http://127.0.0.1:65220/v2/account にクエリを送信することで、ハイジャックされたセッションを検証しました。これによりUSER1のアカウントIDが返され、さらにStrongDM CLIを通じてインフラリソースへの接続にも成功しています。

SpecterOpsが確認したところ、セッションの再利用は元のデプロイ環境外にある完全に外部のホストでも機能しました。

新しい外部のWindows VMにStrongDMをインストールして先にアプリケーションを起動し、その後で持ち出した state.kv ファイルを正しいユーザーパスに配置すると、アプリケーションが更新されて被害者のリソースに接続されました。

CVSS 4.0スコアはローカル攻撃ベクトルや前提条件を考慮して2.0(LOW)と評価されていますが、侵害後のシナリオにおける実際の影響はこれをはるかに上回ります。この手法はMFAおよび再認証の要件を完全にバイパスするためです。

SpecterOpsはまず、C:\Users\<username>\AppData\Roaming\StrongDM\Cache\Cache_data\data_1 にある data_1 キャッシュファイル内にキャッシュされたJWTを発見しました。

ROADtoolsを使ってJWTをデコードし、http://127.0.0.1:65220/v2/authentication の発行エンドポイントを追跡したところ、そのエンドポイントは Sec-Fetch-Mode: no-cors ヘッダーのみを含むリクエストに対して有効な認証済みJWTを返すことが判明しました。

さらにSpecterOpsはProcess Monitorを使用してログイン時のファイルおよびレジストリへのアクセスを追跡し、state.kv を決定的な認証情報ストアとして特定しました。

StrongDMは2026年3月17日にこの脆弱性を修正し、state.kv への平文保存をプラットフォームネイティブの認証情報ストレージ(WindowsのDPAPIおよびmacOSキーチェーン)に置き換えました。

JWTはもはや復元可能な形式でステートファイルに書き込まれなくなりました。SpecterOpsは2026年5月11日〜14日の間に再テストを実施し、ファイルをホスト間で移動させても認証済みセッションが生成されないことを確認しています。

StrongDMデスクトップアプリケーションまたはCLIの旧バージョンを使用しているすべてのユーザーは、デスクトップバージョン23.74.0およびCLIバージョン53.77.0以降に直ちにアップデートしてください。

翻訳元: https://cyberpress.org/critical-strongdm-vulnerability/

ソース: cyberpress.org