Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-18963 — Strumento di rilevamento e verifica per CVE-2026-18963, un bypass dello stato reset-credentials in Keycloak. Esegue il fingerprinting della versione, l'enumerazione di realm/client/utenti e verifica se la precondizione del token di azione è applicata, per valutazioni autorizzate. | Kitploit
Strumenti/GitHubGitHub/alt3kx/cve-2026-18963
RicognizioneAnalisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza WebPenetration TestingAutenticazione
GitHubalt3kx/cve-2026-18963

CVE-2026-18963

Strumento di rilevamento e verifica per CVE-2026-18963, un bypass dello stato reset-credentials in Keycloak. Esegue il fingerprinting della versione, l'enumerazione di realm/client/utenti e verifica se la precondizione del token di azione è applicata, per valutazioni autorizzate.

Vedi Repository
41282 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Sito web
Condividi

Rilevatore di bypass dello stato Reset-Credentials di Keycloak CVE-2026-18963

https://github.com/user-attachments/assets/005fab89-339a-4e4e-881c-da6a626f6c9e

python3 kc-resetforge.py -h


usage: kc-resetforge.py [-h] [--target TARGET] [--targets-file TARGETS_FILE] [--port PORT] [--realm REALM]
                        [--client-id CLIENT_ID] [--username USERNAME] [--new-password NEW_PASSWORD] [--skip-enum]
                        [--enum-only] [--kc-version] [--kc-reset-link] [--corpus-dir CORPUS_DIR] [--label LABEL]
                        [--enum-realms] [--no-enum-realms] [--enum-clients] [--no-enum-clients] [--enum-users]
                        [--no-enum-users] [--realm-wordlist REALM_WORDLIST] [--client-wordlist CLIENT_WORDLIST]
                        [--user-wordlist USER_WORDLIST] [--enum-users-client-id ENUM_USERS_CLIENT_ID]
                        [--verify-login] [--no-verify-login] [--verify-client-id VERIFY_CLIENT_ID]
                        [--timeout TIMEOUT] [--request-delay REQUEST_DELAY] [--output-dir OUTPUT_DIR]
                        [--proxy PROXY] [-d] [-y] [--json-out JSON_OUT]

CVE-2026-18963 Keycloak recon + exploit framework (own infra only)

options:
  -h, --help            show this help message and exit
  --target TARGET       Single target: bare host/IP, host:port, or a full http(s)://host[:port] URL. Scheme and port
                        are auto-detected if omitted (tries https then http; defaults to 443/80 respectively).
                        Mutually exclusive with --targets-file.
  --targets-file TARGETS_FILE
                        Path to a file with one target per line, same flexible formats as --target ('#' comments
                        allowed). Runs recon+exploit against every target in turn.
  --port PORT           Override port for --target (or a fallback for --targets-file lines without their own port).
                        Per-line ports in --targets-file always take precedence.
  --realm REALM         Realm to target. If omitted, auto-selected from recon results.
  --client-id CLIENT_ID
                        OIDC client_id to use. If omitted, auto-selected from recon results.
  --username USERNAME   Username to target. If omitted, auto-selected from recon results.
  --new-password NEW_PASSWORD
                        Password to set for the target user (default: 'Test123!')
  --skip-enum           Skip recon entirely; --realm/--client-id/--username become required.
  --enum-only           Run recon and print results, but do not attempt exploitation.
  --kc-version          Only run the Keycloak version recon phase (fingerprint + corpus match + patch status) and
                        exit - skips realm/client/user enumeration and exploitation entirely. Works with both
                        --target and --targets-file.
  --kc-reset-link       Only check whether the self-service password-reset ('Forgot Password?' /
                        resetPasswordAllowed) flow is exposed, then exit - a single non-destructive GET, no username
                        needed. Auto-discovers realm/client via a light realm+client recon unless --realm/--client-
                        id are given explicitly. Skips exploitation. Works with both --target and --targets-file.
  --corpus-dir CORPUS_DIR
                        Directory of known-version fingerprints for exact version matching (default:
                        kc_version_corpus).
  --label LABEL         Save THIS target's fingerprint into the corpus under this version label instead of matching
                        an unknown version. Use on an instance of known version.
  --enum-realms         Enumerate realm names (default: on during recon).
  --no-enum-realms
  --enum-clients        Enumerate client IDs per realm (default: on during recon).
  --no-enum-clients
  --enum-users          Enumerate usernames per realm (default: on during recon).
  --no-enum-users
  --realm-wordlist REALM_WORDLIST
  --client-wordlist CLIENT_WORDLIST
  --user-wordlist USER_WORDLIST
  --enum-users-client-id ENUM_USERS_CLIENT_ID
                        Client used for the username-enumeration direct-grant probe (default: admin-cli).
  --verify-login        After a password change, confirm the new credentials via a password-grant token request
                        (default: on).
  --no-verify-login
  --verify-client-id VERIFY_CLIENT_ID
                        Client used for the verification password grant.
  --timeout TIMEOUT
  --request-delay REQUEST_DELAY
                        Seconds to wait before each request in the exploit chain (default: 0.4). Keycloak's login-
                        flow state can be timing-sensitive across the reset/restart/selector replay steps; a small
                        delay makes the chain more reliable. 0 to disable.
  --output-dir OUTPUT_DIR
  --proxy PROXY         Route through an HTTP(S) proxy: 'burp' (127.0.0.1:8080 shorthand), a bare host:port, or a
                        full http(s):// URL.
  -d, --debug           Verbose debug logging of requests/responses/enum probes
  -y, --yes             Skip the 'Continue with this target?' prompt. Required for non-interactive use (scripts,
                        --targets-file with multiple targets, CI).
  --json-out JSON_OUT   Write a JSON report of recon + exploit results to this path.

kc-resetforge — CVE-2026-18963 Keycloak recon + exploit tool (own infra only)

Usage
-----
Fully automatic (recon -> auto-pick target -> exploit -> verify):
    python3 kc-resetforge.py --target https://localhost:9990 --proxy burp -d

Recon only:
    python3 kc-resetforge.py --target https://localhost:9990 --enum-only -d

Version + patch-status check only, across many hosts:
    python3 kc-resetforge.py --targets-file targets.txt --kc-version

Skip recon, target directly:
    python3 kc-resetforge.py --target https://localhost:9990 --realm master \
        --client-id account --username admin --skip-enum

Requires: requests, beautifulsoup4, and optionally rich (pip install --break-system-packages)

Riepilogo della vulnerabilità

CampoValore
CVECVE-2026-18963
GravitàCritica
CVSS9.1
CWECWE-640 (Meccanismo debole di recupero password)
ComponenteKeycloak — flusso di autenticazione reset-credentials
ImpattoAccount takeover non autenticato e a interazione zero (account admin inclusi)
Versione correttaKeycloak 26.7.2 (upstream) / RHBK 26.4.15-1, 26.6.6-1

Dettagli tecnici

  • Causa principale: validazione impropria dello stato nel flusso reset-credentials. Il server tiene traccia dello step a cui si trova una sessione ma non riverifica in modo indipendente che lo step del token d'azione inviato via email sia stato effettivamente completato prima di consentire al flusso di avanzare all'aggiornamento della password.
  • Precondizioni: nessuna — non autenticato, nessuna interazione utente, nessun accesso preventivo richiesto.
  • Ambito: qualsiasi realm con "Forgot password" abilitato, precedente alla 26.7.2.
  • Correzione:
    • Keycloak upstream 26.7.2
    • RHBK 26.4 → bundle operator 26.4.15-1 / immagini 26.4-23
    • RHBK 26.6 → bundle operator 26.6.6-1 / immagini 26.6-12
    • Mitigazione temporanea: disabilitare "Forgot password" per realm (Realm Settings → Login → Forgot password)

Informazioni su questo strumento

Scarica lo strumento