Torna agli aggiornamenti
UpdatedAug 7, 2026

Kimai-CVE-2026-49865-POC — Updated!

Exploit PoC per CVE-2026-52824 (GHSA-jr9p-4h4j-6c58) — bypass dell'autenticazione tramite APP_SECRET predefinito in Kimai time-tracking, che interessa le versioni ≤ 2.57.0

Condividi

Kimai CVE-2026-52824 — Bypass dell'autenticazione con APP_SECRET predefinito

Nota: L'URL del repository contiene un CVE ID obsoleto (CVE-2026-49865). Il CVE corretto e attuale tracciato in questo repository è CVE-2026-52824 (GHSA-jr9p-4h4j-6c58).

Toolkit di exploit proof-of-concept per la vulnerabilità del APP_SECRET predefinito hardcoded in Kimai time-tracking (versioni ≤ 2.57.0). Consente il bypass dell'autenticazione tramite cookie KIMAI_REMEMBER falsificati su deployment Docker non aggiornati.

La Storia

Quando è uscito CVE-2026-52824 — una criticità CVSS 9.1 con un segreto predefinito hardcoded in un'immagine Docker usata da migliaia di self-hoster — la comunità tecnica ne era a conoscenza e la correzione è arrivata con la 2.58.0. Ma nessuno ha pubblicato un proof-of-concept funzionante.

Così l'ho ricostruito partendo solo dall'avviso (advisory).

La catena: Kimai include APP_SECRET=change_this_to_something_unique in Docker e .env.dist. Nella v2.57.0 signature_properties per i cookie remember-me è vuoto, quindi il FieldsHash si riduce a una costante (SHA256('')). Combina il segreto noto con un hash vuoto e puoi falsificare un cookie KIMAI_REMEMBER per qualsiasi id utente — incluso admin (id:1).

Questo repository è il toolkit completo e funzionante che porta da advisory a sessione admin su qualsiasi istanza non aggiornata.

Riepilogo della Vulnerabilità

CampoValore
CVECVE-2026-52824
GHSAGHSA-jr9p-4h4j-6c58
CVSS9.1 (Critical)
CWECWE-1188 — Inizializzazione predefinita non sicura delle risorse
Versioni interessateKimai ≤ 2.57.0 (Docker image / .env.dist)
Corretta in2.58.0
CreditiTrent M. (AzureADTrent)

Come Funziona

Kimai viene distribuito con un APP_SECRET predefinito hardcoded nella sua immagine Docker e in .env.dist:

APP_SECRET=change_this_to_something_unique

Nella v2.57.0, signature_properties per i cookie remember-me è vuoto, rendendo il FieldsHash una costante (SHA256('')). Combinato con il segreto noto, chiunque può falsificare un cookie KIMAI_REMEMBER valido per qualsiasi utente — incluso admin.

Catena di Attacco

  1. Identifica un'istanza Kimai che esegue ≤ 2.57.0
  2. Gli ID utente sono sequenziali (admin = id:1)
  3. APP_SECRET noto → calcola le firme HMAC-SHA256
  4. Falsifica il cookie KIMAI_REMEMBER con user_id + username di admin
  5. Il server valida l'HMAC → sessione admin completa
  6. L'accesso admin consente manipolazione dei timesheet, creazione di utenti e potenziale RCE

Cosa è Cambiato nella v2.58.0

Aspettov2.57.0 (Vulnerabile)v2.58.0 (Corretta)
DockerfileENV APP_SECRET=change_this_to_something_uniqueNessun valore predefinito hardcoded
entrypoint.shNessuna generazione del segretoGenera bin2hex(random_bytes(32)) al primo avvio
StorageN/APersiste in /opt/kimai/var/data/.appsecret

Contenuti del Toolkit

FileScopo
exploit.pyExploit a bersaglio singolo — falsifica il cookie e autentica
batch_pwn.pySfruttamento batch multi-thread contro una lista di host
quick_scan.pyScanner a due passate — filtro rapido poi sonda approfondita
deep_probe.pyRilevamento versione tramite più endpoint
probe_batch.pySonda gli host da file per versione + vulnerabilità
shodan-scanner.pyIntegrazione Shodan per scoprire istanze Kimai

Installazione

git clone https://github.com/cyeezy08/Kimai-CVE-2026-49865-POC.git
cd Kimai-CVE-2026-49865-POC
pip install -r requirements.txt

Utilizzo

Exploit su Bersaglio Singolo

python3 exploit.py https://kimai.example.com
python3 exploit.py https://kimai.example.com admin --dump

Sfruttamento Batch

# Da un file di URL
python3 batch_pwn.py kimai_hosts.txt results.txt 30

Scoperta con Shodan

export SHODAN_API_KEY="your_key"
python3 shodan-scanner.py --search --output kimai_hosts.txt

Sondaggio Versioni

python3 deep_probe.py kimai_hosts.txt versioned_results.txt
python3 quick_scan.py hosts_file.txt

Requisiti

  • Python 3.8+
  • requests — client HTTP
  • shodan — client API Shodan (solo per shodan-scanner.py)

Dichiarazione di non responsabilità

Questo toolkit è fornito esclusivamente per test di sicurezza autorizzati e ricerca. L'accesso non autorizzato a sistemi informatici è illegale. Ottenere sempre la dovuta autorizzazione prima di testare. L'autore non si assume alcuna responsabilità per un uso improprio.

Licenza

MIT, non lo so, sono stanco, ok grazie

Categorie