攻撃者がArtifactoryにおけるCVE-2026-42016、CVE-2026-42018、およびCVE-2026-82329を悪用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
脅威アクターが JFrog Artifactory の3つの脆弱性を積極的に悪用して、認証を回避し権限を昇格させています。これらの欠陥を連鎖させることで、攻撃者は管理トークンを取得し、持続的なアカウントを作成し、悪意のある Groovy プラグインや Rust ベースのバックドアを展開できます。攻撃の成功により、Artifactory インスタンスやそこに保存または管理されているアーティファクトに対して完全な管理制御を与えることができます。
調査
Wiz Research は、トークン関連のエンドポイントに送信される認証されていない POST リクエストを含む特徴的な HTTP リクエストシーケンスを伴う悪用パターンを特定しました。研究者はまた、カスタム Rust バックドアや悪意のあるアカウントに使用された特定の命名規則も観察しました。この調査は、攻撃者が複数の脆弱性を連鎖させることで、認証されていないアクセスから完全な管理制御にどのように進行するかをマップしました。
緩和策
組織は、JFrog Artifactory をベンダー指定の修正バージョンに優先的にアップグレードするべきです。特にインターネットに面した Artifactory インスタンスでは、ネットワークへのアクセスを信頼できるユーザーやシステムのみに制限する必要があります。セキュリティチームはまた、認証ログ、管理アクティビティ、構成変更を確認し、不正アクセスの兆候をチェックする必要があります。
対応策
エクスプロイトが検出された場合、セキュリティチームは疑わしいアカウントの作成や不正なプラグインの展開を調査すべきです。侵害された Artifactory インスタンスは隔離され、疑わしいエクスプロイトの期間中に行われたすべての管理アクションは監査されるべきです。影響を受けた CVE の即時パッチ適用は、継続または再度のアクセスを防ぐために不可欠です。
攻撃の流れ
この部分はまだ更新中です。
検出
永続のための可能性のある JFrog Artifactory アカウント作成(ウェブサーバーを介して)
プラグインエンドポイント経由での可能性のある JFrog Artifactory コマンド実行(ウェブサーバーを介して)
可能性のある JFrog Artifactory 構成発見試行(ウェブサーバーを介して)
可能性のある CVE-2026-82329 (JFrog Artifactory 認証回避) エクスプロイト試行(ウェブサーバーを介して)
検出するための IOCs(HashSha1): Artifactory 攻撃下: CVE-2026-42016、CVE-2026-42018、CVE-2026-82329 の野外での悪用
検出するための IOCs(SourceIP): Artifactory 攻撃下: CVE-2026-42016、CVE-2026-42018、CVE-2026-82329 の野外での悪用
検出するための IOCs(DestinationIP): Artifactory 攻撃下: CVE-2026-42016、CVE-2026-42018、CVE-2026-82329 の野外での悪用
JFrog Artifactory における CVE-2026-42018、CVE-2026-42016、CVE-2026-82329 の野外での悪用を検出 [Azure Activity Logs]
シミュレーション実行
-
攻撃のシナリオとコマンド: 攻撃者は公開された JFrog Artifactory インスタンスを特定します。管理制御を獲得し、クラウド環境に横移動するために、CVE-2026-42018とCVE-2026-82329を悪用しようとします。攻撃者は特に
/access/api/v1/tokensand/access/api/v1/registry/joinエンドポイントをターゲットにして、認証を回避し高度に特権化されたトークンを生成するために POST リクエストを使用します。 -
回帰テストスクリプト:
#!/bin/bash # JFrog Artifactory 脆弱性検出ルールをトリガーするためのシミュレーションスクリプト。 # 対象 URL は Artifactory エンドポイントを表します。 TARGET_URL="https://artifactory.example.com" echo "[+] シミュレーション開始: CVE-2026-42018/82329 の悪用" # シナリオ 1: トークンエンドポイントを経由してエクスプロイトを試みる(選択 2) echo "[*] 選択 2 実行: /access/api/v1/tokens に POST" curl -X POST "$TARGET_URL/access/api/v1/tokens" -d '{"exploit": "true"}' -s -o /dev/null # シナリオ 2: レジストリジョインエンドポイントを経由してエクスプロイトを試みる(選択 3) echo "[*] 選択 3 実行: /access/api/v1/registry/join に POST" curl -X POST "$TARGET_URL/access/api/v1/registry/join" -d '{"exploit": "true"}' -s -o /dev/null echo "[+] シミュレーション完了。SIEM のアラートを確認してください。" -
クリーンアップコマンド:
# curl コマンドによってシステムに永続的な変更は行われません。 # スクリプトによって作成された一時ファイルがある場合、それらを削除します: rm -f simulation_log.txt