CVE-2026-82329 : JFrog Artifactory に存在する認証バイパスの脆弱性を悪用するアクティビティ
JFrog Artifactory の脆弱性 (CVE-2026-82329) を狙った攻撃が72時間で急増しました。Fastly の脅威インテリジェンスチームが、大規模なスキャン活動の急増を分析するとともに、Fastly の仮想パッチが、現在どのようにお客様を保護しているのかを解説します。

CVE-2026-82329 は、セルフホスト型の JFrog Artifactory に存在する、深刻度が極めて高い認証バイパスの脆弱性 (CVSS 9.8) です。認証を回避できるため、認証されていない匿名の攻撃者が、HTTP リクエストを1回送信するだけで、プラットフォーム全体の管理者権限を持つアクセストークンを発行できます。JFrog が2026年8月28日にこの脆弱性を公表して以来、Fastly の脅威調査チームは、Fastly のグローバルプラットフォーム全体で、この CVE に関連するトラフィックが、当初の小規模な探索的スキャンから、無差別に標的を探す大規模なスキャンへと拡大していることを確認しました。
この脆弱性の悪用の試みを緩和するため、Fastly Next-Gen WAF は CVE-2026-82329 に対する仮想パッチをリリースしました。これにより、お客様は自社のインスタンスを直ちに保護できます。対処手順とベンダー提供のパッチに関する詳細については、この記事の末尾にある「具体的な推奨対策」のセクションをご覧ください。この重大な脆弱性に対処するため、すべてのお客様に、システムへのパッチの即時適用を強く推奨します。
背景
JFrog Artifactory は、企業で広く導入されているバイナリおよびパッケージのリポジトリのひとつであり、多くのソフトウェア開発組織がビルドアーティファクトの管理・保管に利用しています。そのため、攻撃者にとって価値の高い標的となります。アーティファクトレジストリの管理者権限を攻撃者に奪われると、攻撃者はソフトウェアサプライチェーンの中枢に直接アクセスできるようになります。これにより、保存されている認証情報へのアクセス、ユーザーやリポジトリの作成、公開済みアーティファクトの改ざんなどが可能になります。
脆弱性
CVE-2026-82329 (CWE-287、不適切な認証) は、Artifactory の前段で動作する JFrog Access サービスに存在します。Access は、署名検証の対象として信頼するクラスタの「join key」の一覧を構築する際、設定文字列をカンマで分割しますが、空の要素を除外する処理を行っていません。デフォルトのインストールではこの設定値が空であるため、空文字列が信頼された join key として登録されてしまいます。
この空のキーが重要なのは、その署名用シークレットが完全に決定論的であり、空の入力値から生成される固定の32バイトの値であるためです。したがって、攻撃者は誰でも、その既知のシークレットを使って署名した、HS256 を使用する有効な「join」JWT を偽造できます。偽造されたトークンには、空文字列の SHA-256 ハッシュ値と等しいキー ID (kid) が含まれています。
kid = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 // SHA256("")認証不要の cluster-join エンドポイントにこのトークンを送信すると、特定のサービスの権限に限定された管理者アクセストークンが発行されます。さらに、このトークンを交換することで、有効期限のない、プラットフォーム全体に対する完全な管理者権限を持つトークンを取得できます。この一連の流れは、1件のリクエストから始まります。
POST /access/api/v1/registry/join HTTP/1.1
Host: artifactory.example
Content-Type: application/json
{"token":"<forged HS256 JWT, kid = SHA256(\"\")>", ...}正規のクラスタピアも同じメソッドとパスにアクセスしますが、実際の (空ではない) join key を使って署名するため、その kid は異なるハッシュ値になります。この唯一の識別要素である、空文字列に対応する kid が、攻撃と通常のノード間通信を区別する決め手となります。
成功した攻撃による通信は、正規のノード間通信と区別できます。認証不要の join エンドポイントは、どちらの場合も HTTP 201 を返しますが、攻撃では、特定の決定論的なキー ID (空文字列のSHA-256ハッシュ値) を使用した偽造トークンが使われます。したがって、この特定のキー ID に関連付けられた HTTP 201 レスポンスが観測された場合、システムが侵害されていることを示す信頼度の高い証拠となります。
脅威アクティビティ
JFrog がこの脆弱性を公表した後、悪用の試みは典型的な攻撃手法の実用化パターンをたどり、公開された攻撃コードが利用可能になると急増しました。公表当日 (8月28日) には悪用の動きは検出されず、その後48時間の全体的な件数もごくわずかでした。8月29~30日に確認された試行は1桁にとどまりました。最初に目立った動きが見られたのは8月31日で、約7万5,000件の試行が確認されました。ただし、その大半はオフェンシブセキュリティサービスによるものでした。攻撃コードの公開を受け、9月1日には攻撃の試行が大幅に増加し、17万1,000件をわずかに超えました。9月2日には悪用の活動がピークに達し、試行は約40万6,000件に上りました。この日は、観測期間全体を通じて、攻撃元の国・地域および攻撃に使用された IP アドレスが最も多く確認されました。

件数の推移以外にも、特に注目すべき点が2つあります。
1つ目は攻撃対象の広さです。9月1日と2日には、個々の IP アドレスから、それぞれ数千台もの異なるホストに対して無差別に攻撃が仕掛けられました。特定の標的を狙った攻撃というよりも、広範囲を対象としたスキャン活動であったことを示しています。
次に、攻撃元が急速に拡大しました。攻撃に使用された IP アドレスの数は当初の数件から、わずか1日で1,400近くに急増しました。PoC (概念実証コード) が公開され、攻撃ツールが誰でも容易に利用できるようになると、攻撃トラフィックは急速に拡散しました。
脅威アクターの動向
2026年8月28日~9月2日に Fastly のグローバルプラットフォーム全体で観測された攻撃トラフィックを分析した結果、主に3つのカテゴリーが明らかになりました。初期のオフェンシブセキュリティテストと、それに続く脅威アクターによる異なる2つのレベルの活動、すなわち大規模スキャンと標的型攻撃の試行です。
初期の活動 : オフェンシブセキュリティ調査・テスト
8月31日に記録された初期のトラフィックは、悪意ある大規模な脆弱性悪用攻撃の始まりと誤認されてもおかしくありません。しかし、その日のほとんどの攻撃元 IP アドレスにわたる、リクエスト総数 (約7万5,000件) の98%近く (約7万3,000件) は、オフェンシブセキュリティサービスを提供する企業やセキュリティ調査サービスによるものでした。9月1日には、セキュリティ調査・ベンダーによる活動は無視できる水準まで減少し、実際の脆弱性悪用攻撃がトラフィックの主な発生源となりました。
ティア1 : 大量の一斉スキャン
広範囲にわたる自動スキャンが攻撃トラフィックの大部分を占めます。9月1日の UTC (協定世界時) 16時40分頃から19時48分頃にかけて、フランスと米国のホスティングネットワーク上のレンタル VPS インスタンス群が連携し、join エンドポイントを集中的に攻撃しました。この約3時間の間に、各送信元ホストは、(既知の脆弱性があるビルドに対応する) JFrogArtifactory/7.146.25 という User-Agent 文字列を使用して、数千台もの異なるシステムに対して探索的なアクセスを行いました。この活動は9月2日にさらに激化しました。この日、夜間に長時間にわたって攻撃が急増し、単一の VPS プロバイダーからの通信が、その日の攻撃試行総数の大部分を占めていることが確認されました。攻撃は、Artifactory が稼働しているかどうかを事前に絞り込むことなく、数千もの標的に対して行われました。
ティア2 : 標的を絞った悪用
大量のリクエストをばらまく攻撃者とは対照的に、少数の攻撃者グループは標的を絞って悪用を試みていました。これらの発信元のいくつかは、公開されている POC の攻撃コードで使用されているデフォルトの User-Agent「jfrt/0/7.161.19」を使用していました。このように標的を絞った悪用を試みる攻撃者によるリクエスト数は大幅に少なかったものの、その活動からは基盤となる脆弱性を正確に理解していることがうかがえました。
具体的な推奨事項
今すぐパッチを適用してください。セルフホスト型の Artifactory を、修正済みビルドのいずれかにアップグレードしてください : 7.111.21、7.117.28、 7.125.20、7.133.29, 7.146.38、7.161.20 (使用しているブランチに対応するバージョンを選択してください。)
脆弱性にさらされていた場合は、侵害されたと想定してください。パッチを適用しても、すでに発行されたトークンは失効しません。プラットフォームの join key をローテーションし、2026年8月28日以降に発行されたアクセストークンを失効させます。さらに、予期しない管理者ユーザーやリポジトリ、設定変更がないか監査してください。
仮想パッチを適用してください。Fastly Next-Gen WAF を利用しているお客様は、CVE-2026-82329 に対応するテンプレートルールを有効にしてください。
ログを調査してください。join エンドポイントへのリクエストがないか検索し、HTTP 201 のレスポンスが確認された場合は、侵害が発生したと判断してください。侵害指標 (IOC) のリストに記載されている攻撃者の User-Agent は、最初の簡易的なフィルタリングには有効ですが、それだけに頼らないでください。User-Agent は簡単に変更できるためです。
最後に
CVE-2026-82329 は、現代の脆弱性悪用がいかに短時間で進行するかを示す、分かりやすい事例です。サプライチェーンの中核を担うプロダクトで、認証不要の重大な脆弱性が発見され、公表から約72時間でインターネット全体を対象としたスキャンが始まり、公開 POC が登場した時点で侵害が確認されました。防御面での教訓に目新しさはないものの、効果的です。速やかにパッチを適用し、脆弱性にさらされた場合は、侵害されていないと証明されるまで、システムが侵害されたものとして扱い、時間を稼ぐために仮想パッチを適用します。Fastly は、この CVE に関連するアクティビティを引き続き監視します。
侵害指標 (IOC)
エンドポイントのバリアント
POST /access/api/v1/registry/join
POST /access/api/v1/registry/join/router
POST /access/api/v1/registry/join/router?override=true
ペイロードの指標 : JWT kid = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
侵害の成功を示すシグナル : 該当するエンドポイントからの HTTP 201
User-Agents:
jfrt/0/7.161.19
JFrog-Access/7.141.17
JFrogArtifactory/7.146.25
攻撃トラフィック量の多い送信元 IP アドレス (サンプル)
213.136.72[.]87、89.117.49[.]147、45.33.75[.]219、23.92.20[.]11、173.255.226[.]148、195.154.157[.]234、62.210.87[.]212、45.79.190[.]169、163.172.132[.]245
参照リンク
JFrog の公式アドバイザリ : JFrog Security Advisories
Fastly 仮想パッチに関するドキュメント : Virtual Patch for CVE-2026-82329
Nuclei の検知テンプレート:Nuclei template for CVE-2026-82329
Fastly Security Research チームによる調査レポート : Fastly Security Research







