

NUR FÜR ETHISCHE NUTZUNG – AUTORISIERTE SICHERHEITSTESTS
Dieses Repository stellt Tools ausschließlich für autorisierte Sicherheitsexperten, Blue Teams und Penetrationstester bereit.
Unbefugter Zugriff auf Computersysteme ist illegal gemäß CFAA (USA), Computer Misuse Act (UK), TCK 243/244 (Türkei) und ähnlichen Gesetzen weltweit.
📖 Schwachstellenübersicht
CVE‑2026‑82329 ist eine kritische Authentifizierungs-Bypass-Schwachstelle in selbst gehostetem JFrog Artifactory (Versionen 7.111.x bis 7.161.x), die es einem nicht authentifizierten Angreifer ermöglicht, durch Ausnutzung des JFrog Access Cluster-Join-Mechanismus ein vollständiges Plattform-Administrator-Token zu erlangen.
Funktionsweise
- Vertrauen in leeren Join-Key – JFrog Access vertraut einem Phantom-Join-Key, dessen Wert eine leere Zeichenkette ist. Sein Signaturgeheimnis ist daher der deterministische Wert
32 * 0x20 (Leerzeichen).
- Gefälschtes Join-JWT – ein Angreifer fälscht ein HS256-JWT, das mit diesem bekannten Geheimnis und
kid = SHA256("") signiert ist.
- SERVICE-Token ausgestellt –
POST /access/api/v1/registry/join gibt ohne jegliche Authentifizierung ein SERVICE-Token mit scp=admin zurück.
- Admin-Token-Austausch –
POST /access/api/v1/tokens mit scope=applied-permissions/admin&audience=* liefert ein vollständiges Plattform-Admin-Token.
- Auswirkung – vollständige Übernahme des Repositorys, Token-Diebstahl, Erstellung von Admin-Benutzern, Artefakt-Vergiftung, Supply-Chain-Angriffe und laterale Bewegung in verbundene Dienste (Xray, Mission Control, Distribution). Sofort aktualisieren!
Betroffene Versionen
- 7.111.4 – 7.111.20 – anfällig
- 7.117.0 – 7.117.27 – anfällig
- 7.125.0 – 7.125.19 – anfällig
- 7.133.0 – 7.133.28 – anfällig
- 7.146.0 – 7.146.36 – anfällig
- 7.161.0 – 7.161.19 – anfällig
Patch
- Aktualisieren Sie auf 7.111.21, 7.117.28, 7.125.20, 7.133.29, 7.146.38 oder 7.161.20 oder neuer.
- Falls ein Upgrade nicht möglich ist, beschränken Sie den Netzwerkzugriff auf Artifactory (setzen Sie es niemals dem Internet aus) und rotieren Sie alle Admin-Token als vorübergehende Problemumgehung.
| Tool | Zweck | Vorgesehener Benutzer |
|---|
exploit.py | Vollständiges weaponisiertes Toolkit mit JWT-Fälschung, Admin-Token-Austausch, Erstellung von Admin-Benutzern, Massen-Scanning, Stealth-Modus, Proxy-Rotation, interaktivem Menü und vollständiger Angriffskette. | Red Teams / autorisierte Pentester |
safechecker.py | Nicht-intrusiver Schwachstellen-Checker, der die Artifactory-Version erkennt, die Exposition validiert und das Risiko bewertet, ohne ein Token zu erhalten oder eine Payload auszuführen. Erzeugt JSON-Berichte. | Blue Teams / Sicherheitsauditoren |
📊 Funktionsvergleich
| Funktion | exploit.py | safechecker.py |
|---|
| Schwachstellenerkennung | ✅ | ✅ |
| Versionserkennung | ✅ | ✅ |
| Gefälschtes Join-JWT | ✅ | ❌ |
| Service-Token-Ausstellung | ✅ | ❌ |
| Admin-Token-Austausch | ✅ | ❌ |
| Erstellung von Admin-Benutzern | ✅ | ❌ |
| Repositories auflisten | ✅ | ❌ |
| Benutzer auflisten | ✅ | ❌ |
| Konfiguration auslesen | ✅ | ❌ |
| Token auslesen | ✅ | ❌ |
| Vollständige Angriffskette | ✅ | ❌ |
| Interaktives Menü | ✅ | ❌ |
| Massen-Scanning (Multi-Thread) | ✅ | ✅ |
| Proxy-Unterstützung | ✅ | ✅ |
| Proxy-Rotation | ✅ | ❌ |
| Tor-Unterstützung (Anonymität) | ✅ | ❌ |
| User-Agent-Rotation (OPSEC) | ✅ | ❌ |
| Jitter (OPSEC) | ✅ | ❌ |
| Adaptiver Rate-Limiter | ✅ | ❌ |
| Nicht-intrusiver (sicherer) Modus | ❌ | ✅ |
| Versionsbericht | ✅ | ✅ |
| Anonymer Zugriffscheck | ❌ | ✅ |
| JSON-Bericht | ✅ | ✅ |
| Log-Bereinigung (Anti-Forensik) | ✅ | ❌ |
| Benutzerdefinierter User-Agent | ✅ | ✅ |
| SSL-Verifizierungssteuerung | ✅ | ✅ |
🎯 Zusammenfassung der Anwendungsfälle
| Szenario | Empfohlenes Tool |
|---|
| Blue Team – Überprüfung, ob Ihr Artifactory anfällig ist | safechecker.py |
| Sicherheitsaudit – nicht-intrusive Schwachstellenbewertung | safechecker.py |
| Red Team – autorisierte Penetrationstests mit vollständiger Ausnutzung | exploit.py |
| Bug Bounty – Tests zur verantwortungsvollen Offenlegung | safechecker.py |
| Massen-Scanning – Überprüfung mehrerer Ziele auf Schwachstellen | exploit.py (nur Erkennung) |
| Incident Response – Überprüfung, ob Systeme kompromittiert wurden | safechecker.py |
⚙️ Installation
git clone https://github.com/tc4dy/CVE-2026-82329-PoC-Exploit
cd CVE-2026-82329-PoC-Exploit
pip install -r requirements.txt
requirements.txt
requests
urllib3
curl_cffi
📋 Parameter
exploit.py Parameter
| Parameter | Beschreibung |
|---|
-u, --url | Einzelne Ziel-Artifactory-URL (z. B. http://artifactory.example.com:8082) |
-f, --file | Datei mit Zielliste (eine pro Zeile) für Massen-Scanning |
--create-admin | Persistenten Admin-Benutzer erstellen (Format: USER:PASS) |
--keep-admin | Erstellten Admin-Benutzer behalten (keine Bereinigung nach dem Scan) |
--token-only | Nur Admin-Token ausgeben (einzelnes Ziel) |
--interactive | Interaktives Menü nach der Ausnutzung |
--service-id | Service-ID für Join-JWT (Standard: jfrt@01) |
-t, --threads | Anzahl der Threads für mehrere Ziele (Standard: 10) |
--timeout | Anfrage-Timeout (Standard: 25s) |
--retry | Maximale Wiederholungsversuche (Standard: 3) |
--proxy | HTTP/HTTPS-Proxy (z. B. http://127.0.0.1:8080) |
--proxy-list | Datei mit Proxys für Rotation (eine pro Zeile) |
--jitter | Zufälliger Jitter (0-2 Sek.) zwischen Anfragen |
--stealth | Stealth-Modus aktivieren (UA-Rotation + X-Forwarded-For) |
--curl-cffi | curl_cffi für TLS-Fingerprint-Impersonation verwenden |
--full | Vollständiger Angriff: alle Module |
--dump-config | Systemkonfiguration auslesen |
--dump-tokens | Alle Zugriffstoken auslesen |
--list-repos | Repositories auflisten |
--list-users | Benutzer auflisten |
--detect | Nur Erkennung (kein Admin-Token-Austausch) |
--exploit | Vollständige Ausnutzung durchführen |
-o, --output | JSON-Bericht in Datei speichern |
-v, --verbose | Ausführliche Ausgabe |
-q, --quiet | Leiser Modus |
safechecker.py Parameter
| Parameter | Beschreibung |
|---|
-u, --url | Einzelne Ziel-Artifactory-URL (z. B. http://artifactory.example.com:8082) |
-f, --file | Datei mit Zielliste (eine pro Zeile) |
-t, --threads | Anzahl der Threads für mehrere Ziele (Standard: 5) |
--timeout | Anfrage-Timeout (Standard: 10s) |
-v, --verbose | Ausführliche Ausgabe |
-o, --output | JSON-Bericht in Datei speichern |
💥 Szenarien