
SimpleHelp Bypass d'authentification OIDC - Preuve de concept (PoC)
[!WARNING] Ce code est fourni EN L'ÉTAT à des fins éducatives et de recherche uniquement. N'utilisez pas cette PoC sur des systèmes de production, des environnements partagés ou des cibles non autorisées.
- Cette exploitation démontre une vulnérabilité critique d'exécution de code à distance (RCE) (CVE-2026-6307) qui peut compromettre entièrement le sandbox du moteur de rendu Chrome.
- L'exécution ou l'hébergement de ce code peut déclencher des détections antivirus, des alertes de surveillance de sécurité ou des conséquences juridiques en cas de mauvaise utilisation.
- Les auteurs et les mainteneurs du dépôt déclinent toute responsabilité pour tout dommage, mauvaise utilisation ou activité illégale résultant de ce code.
- Utilisez exclusivement dans des environnements de laboratoire isolés avec une autorisation appropriée. Destiné uniquement à la recherche défensive, à l'analyse des vulnérabilités et aux tests d'équipe bleue.
Auteur : J4ck3LSyN
Les versions 5.5.15 et antérieures de SimpleHelp ainsi que les versions 6.0 pré‑release contiennent une vulnérabilité critique de contournement d'authentification (CVE-2026-48558) dans le flux d'authentification OpenID Connect (OIDC).
Lorsque l'authentification OIDC est configurée, le serveur accepte les jetons d'identité (ID Tokens / JWT) sans vérifier leur signature cryptographique. Un attaquant distant non authentifié peut forger un jeton avec des revendications arbitraires (y compris les appartenances à des groupes) pour créer et s'authentifier en tant qu'utilisateur Technicien privilégié. Cela peut aussi contourner l'authentification multifacteur (MFA) dans les configurations concernées. Aucune interaction de l'utilisateur n'est nécessaire.
La cause profonde réside dans la logique de validation des jetons OIDC de SimpleHelp :
alg: none fonctionne ; les signatures invalides ne sont pas rejetées).iss, aud, exp et autres dans certains flux.POST /auth/oidc/callback ou similaire) en soumettant un id_token forgé.Cela permet aux attaquants d'usurper l'identité de n'importe quel utilisateur et d'escalader leurs privilèges au niveau technicien sans identifiants.
/opt/SimpleHelp/logs/server.log (et sous‑répertoires datés)jquery.js / Node.js sur les terminaux gérés (post‑exploitation)Appliquer le correctif immédiatement :
Mise à jour officielle : Mise à jour de sécurité SimpleHelp 2026-05
Solutions de contournement temporaires (jusqu'à l'application du correctif) :
Voir poc.py dans ce dépôt.
requests, PyJWTpython3 -m venv venv
source venv/bin/activate # (.fish) if your swimming
python3 -m pip install --upgrade pip
python3 -m pip install requests PyJWT
python3 poc.py -u https://target.example.com \
-i https://accounts.google.com \
-a "your-configured-client-id" \
-s attacker-sub \
-e [email protected] \
-n "Evil Technician" \
-g "Technicians,Admins"
La documentation complète des paramètres se trouve dans le script.
Remarque : Le script inclut une découverte automatique du point de terminaison de rappel et prend en charge une redéfinition manuelle.
Dépôt : https://github.com/J4ck3LSyN-Gen2/CVE-2026-48558