Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
POC-CVE-2026-18963 — Exploit de preuve de concept pour CVE-2026-18963, un contournement d'authentification dans le flux de réinitialisation de mot de passe oublié de Keycloak, permettant de réinitialiser le mot de passe sans vérification appropriée. Inclut un mode de preuve non destructif. | Kitploit
Outils/GitHubGitHub/t0w0t/poc-cve-2026-18963
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionAuthentification
GitHubt0w0t/poc-cve-2026-18963

POC-CVE-2026-18963

Exploit de preuve de concept pour CVE-2026-18963, un contournement d'authentification dans le flux de réinitialisation de mot de passe oublié de Keycloak, permettant de réinitialiser le mot de passe sans vérification appropriée. Inclut un mode de preuve non destructif.

Voir le dépôt
1il y a 1 jourPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-18963 — Preuve de concept du contournement d'authentification du flux « Mot de passe oublié » de Keycloak

Preuve de concept pour CVE-2026-18963, un défaut dans le flux « Mot de passe oublié » / de sélection des identifiants de Keycloak qui permet à un attaquant d'atteindre l'étape UPDATE_PASSWORD — et de réinitialiser le mot de passe d'un compte cible — sans avoir correctement effectué la vérification d'identité requise (par exemple sans OTP/second facteur valide).

Le script pilote le flux uniquement via HTTP (aucun navigateur/Selenium requis) en :

  1. Chargeant la page de connexion du realm et en localisant le lien « Mot de passe oublié ».
  2. Ouvrant la page de réinitialisation des identifiants et en déclenchant tryAnotherWay.
  3. Envoyant le nom d'utilisateur sur le sélecteur d'identifiants résultant.
  4. Extrayant et rejouant l'URL de redémarrage startSessionPolling() utilisée par l'interface Keycloak pour maintenir la session d'authentification active.
  5. Rejouant l'URL de réinitialisation initiale pour atteindre un second sélecteur d'identifiants.
  6. Envoyant à nouveau le nom d'utilisateur pour faire avancer le flux directement jusqu'à UPDATE_PASSWORD.
  7. Envoyant, en option, un nouveau mot de passe pour le compte cible.

⚠️ Avertissement

Cet outil est fourni uniquement pour les tests de sécurité et la recherche autorisés (tests d'intrusion que vous êtes mandaté pour effectuer, CTF, vos propres environnements de laboratoire ou divulgation coordonnée de vulnérabilités). L'exécuter contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de tester est illégal. L'auteur et les contributeurs déclinent toute responsabilité en cas d'utilisation abusive ou de dommages causés par cet outil.

Utilisez --stop-at-update-password pour produire une preuve non destructive (atteindre UPDATE_PASSWORD sans soumettre de nouveau mot de passe) dès lors que cela suffit à démontrer le problème.

Prérequis

  • Python 3.8+
  • requests
  • beautifulsoup4

Installation

root@kitploit:~
git clone <this-repo-url>
cd POC
python -m venv .venv
source .venv/bin/activate   # on Windows: .venv\Scripts\activate
pip install -r requirements.txt

Utilisation

root@kitploit:~
python poc_cve_2026_18963_terminal.py \
    --base-url http://localhost:8080 \
    --realm master \
    --client-id account \
    --username admin \
    --new-password "NewPassword123!"

Options

FlagDefaultDescription
--base-urlhttp://localhost:8080URL de base de l'instance Keycloak cible
--realmmasterRealm ciblé
--client-idaccountIdentifiant client OIDC utilisé pour initier le flux de connexion
--usernameadminNom d'utilisateur cible
--new-password(requis)Mot de passe à définir pour le compte cible
--stop-at-update-passwordoffS'arrêter une fois UPDATE_PASSWORD atteint, sans soumettre de nouveau mot de passe (preuve non destructive)
--timeout10.0Délai d'expiration des requêtes HTTP en secondes
--output-dirdebug_httpRépertoire dans lequel chaque réponse HTML intermédiaire est enregistrée pour le débogage
--insecureoffDésactiver la vérification des certificats TLS

Preuve non destructive

root@kitploit:~
python poc_cve_2026_18963_terminal.py \
    --base-url https://target.example.com \
    --realm myrealm \
    --username victim \
    --new-password unused \
    --stop-at-update-password

Sortie

Chaque réponse HTTP intermédiaire est enregistrée dans --output-dir (debug_http par défaut) sous la forme 01_login.html, 02_reset.html, ... pour une revue hors ligne. Le script se termine avec le code 0 en cas de succès et 1 en cas d'échec, en affichant la progression et les messages de diagnostic sur stdout.

Auteur

Aurélien LOIE

Télécharger l’outil