## https://sploitus.com/exploit?id=DDBD5DC8-083D-53AB-84FA-06786441845B
# CVE-2026-82329 Artifactory Security Assessment Tool
PoC dan alat validasi untuk mengidentifikasi instalasi JFrog Artifactory self-hosted yang terdampak CVE-2026-82329.
Alat ini memvalidasi rantai autentikasi berikut:
1. Membuat join JWT HS256 menggunakan signing key default yang kosong.
2. Mengirim JWT ke endpoint registry join untuk memperoleh service token.
3. Menukar service token menjadi token dengan permission administrator.
4. Memverifikasi akses administrator melalui endpoint konfigurasi dan token Artifactory.
Proyek ini ditujukan untuk pengujian keamanan yang sah, validasi patch, dan respons insiden. Jangan jalankan terhadap sistem yang tidak Anda miliki atau tidak Anda punya izin tertulis untuk mengujinya.
## Status Kerentanan
CVE ini berlaku untuk instalasi Artifactory self-hosted yang belum diperbaiki. Artifactory Cloud telah diperbaiki.
Versi yang tercatat telah diperbaiki:
- 7.111.21
- 7.117.28
- 7.125.20
- 7.133.29
- 7.146.38
- 7.161.20
Versi perbaikan dapat berbeda berdasarkan lini rilis. Gunakan advisori resmi JFrog sebagai sumber kebenaran untuk menentukan status patch di lingkungan Anda.
## Peringatan Keamanan
- Hanya gunakan terhadap target yang telah mendapat otorisasi.
- Opsi `-token` menampilkan token administrator ke terminal. Perlakukan output tersebut sebagai kredensial rahasia.
- Opsi `-create-admin` bersifat destruktif karena membuat akun administrator persisten. Gunakan hanya pada lingkungan uji atau saat prosedur respons insiden mengharuskannya.
- Klien TLS pada PoC ini mengabaikan verifikasi sertifikat. Gunakan jaringan pengujian yang terkontrol dan jangan menganggap koneksi tersebut aman.
- Jangan menyimpan output verbose, token, atau kredensial di sistem pelacakan publik.
- Setelah pengujian, cabut token dan hapus akun uji yang dibuat.
## Persyaratan
- Go 1.20 atau lebih baru
- Akses jaringan ke target Artifactory
- Otorisasi eksplisit untuk melakukan pengujian
Tidak ada dependensi Go eksternal. Program menggunakan standard library Go.
## Instalasi Dan Build
Clone atau salin proyek ini ke mesin pengujian, lalu build dengan:
```bash
go build -o cve-2026-82329 CVE-2026-82329.go
```
Untuk memeriksa dan menjalankan format standar Go:
```bash
gofmt -w CVE-2026-82329.go
go vet ./...
```
## Penggunaan

### Memeriksa Satu Target
```bash
./cve-2026-82329 -u https://artifactory.example.com:8082
```
Skema URL dapat dihilangkan. Jika dihilangkan, program menggunakan HTTP:
```bash
./cve-2026-82329 -u 192.0.2.10:8082
```
### Memeriksa Banyak Target Dari File
File target berisi satu URL per baris. Baris kosong dan baris yang diawali `#` diabaikan.
```text
https://artifactory-a.example.com:8082
https://artifactory-b.example.com:8082
# target lab yang sedang dinonaktifkan
```
Jalankan pemindaian dengan jumlah worker yang ditentukan:
```bash
./cve-2026-82329 -l urls.txt -threads 8
```
### Membaca Target Dari Stdin
```bash
cat hosts.txt | ./cve-2026-82329
```
URL dengan atau tanpa skema dapat digunakan selama memiliki host yang valid.
### Menampilkan Token Hasil Pengujian
```bash
./cve-2026-82329 -u https://artifactory.example.com:8082 -token
```
Gunakan opsi ini hanya ketika token memang diperlukan untuk validasi lanjutan. Jangan membagikan token tersebut.
### Membuat Akun Administrator Uji
```bash
./cve-2026-82329 \
-u https://artifactory.example.com:8082 \
-create-admin audit-user:'Gunakan-Kredensial-Uji'
```
Format nilainya adalah `user:pass`. Karena kredensial dapat terlihat di history shell atau daftar proses, gunakan hanya pada lingkungan yang terkontrol. Fitur ini dapat bergantung pada edisi Artifactory Pro atau Enterprise.
### Logging Verbose
```bash
./cve-2026-82329 -u https://artifactory.example.com:8082 -verbose
```
Alias singkatnya adalah `-v`. Mode ini mencatat request, response, JWT forged, dan claims token. Anggap seluruh output sebagai data sensitif.
## Opsi Command-Line
| Opsi | Default | Keterangan |
| --- | --- | --- |
| `-u URL` | kosong | Target base URL; dapat diulang |
| `-l FILE` | kosong | File berisi daftar URL target |
| `-threads N` | `8` | Jumlah worker paralel |
| `-timeout N` | `20` | Timeout setiap request dalam detik |
| `-token` | `false` | Menampilkan token administrator yang diperoleh |
| `-create-admin user:pass` | kosong | Membuat akun administrator persisten |
| `-verbose` | `false` | Mencatat detail request, response, dan claims |
| `-v` | `false` | Alias untuk `-verbose` |
## Interpretasi Hasil
- `VULN`: join berhasil dan endpoint pembuktian administrator mengembalikan status HTTP 200.
- `SAFE`: join tidak berhasil, misalnya target telah dipatch, tidak menggunakan key kosong, atau bukan Artifactory yang sesuai.
- `INFO`: join berhasil, tetapi pembuktian administrator tidak memberikan hasil yang menentukan. Periksa versi dan konfigurasi secara manual.
- `FAIL`: target tidak dapat dijangkau atau URL tidak valid.
Status `SAFE` bukan pengganti verifikasi versi dan konfigurasi. Status `INFO` harus diperlakukan sebagai temuan yang memerlukan pemeriksaan lanjutan.
## Batasan
- Alat ini hanya menargetkan endpoint dan perilaku yang tersedia pada instalasi Artifactory self-hosted yang relevan.
- Hasil dapat dipengaruhi reverse proxy, firewall, TLS inspection, konfigurasi jaringan, edisi produk, dan kontrol akses tambahan.
- Pemindaian paralel dapat menambah beban pada target. Sesuaikan `-threads` dan `-timeout` dengan kapasitas lingkungan.
- Program tidak menyediakan remediasi otomatis.
## Rekomendasi Remediasi
1. Identifikasi lini versi Artifactory yang sedang digunakan.
2. Terapkan rilis perbaikan resmi JFrog untuk lini tersebut.
3. Batasi akses jaringan ke endpoint administrasi dan Access Service.
4. Rotasikan token yang mungkin telah terekspos.
5. Audit akun administrator, token, dan log akses yang dibuat selama periode paparan.
6. Jalankan validasi ulang setelah patch dan verifikasi bahwa endpoint join tidak lagi menerima key default kosong.
## Lisensi Dan Penggunaan
Lisensi belum ditentukan dalam repository ini. Hubungi pemilik proyek sebelum mendistribusikan ulang atau mengintegrasikan kode ke produk lain.
Kode ini disediakan untuk riset keamanan dan pengujian berizin. Penulis dan kontributor tidak bertanggung jawab atas penggunaan tanpa otorisasi, kerusakan, kehilangan data, atau pelanggaran hukum yang timbul dari penggunaan alat ini.
## Penulis
Gagaltotal666 - GhostGTR666
Repository: https://github.com/gagaltotal
## Referensi resmi:
- [CVE.org](https://vulners.com/cve/CVE-2026-82329)
- [CVE-2026-82329](https://github.com/dinosn/cve-2026-82329-jfrog-artifactory)