
PoC automatisé pour CVE-2026-48611 — contournement de l'authentification login_link OAuth de phpBB
À UTILISER À VOS PROPRES RISQUES.
Cet outil est fourni strictement pour la recherche en sécurité autorisée, les tests d'intrusion et à des fins éducatives. Ne l'exécutez que contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite.
L'auteur n'est pas responsable ou tenu responsable de toute utilisation illégale ou contraire à l'éthique de cet outil, ni des conséquences résultant d'une telle utilisation. Toute responsabilité légale et éthique quant à la manière dont cet outil est utilisé incombe uniquement à la personne qui l'exécute — l'auteur ne participe pas, n'approuve pas et ne cautionne pas l'utilisation non autorisée de ce logiciel.
PoC automatisé pour le contournement d'authentification OAuth login_link de phpBB
phpBB a publié CVE-2026-48611 avec une analyse technique du bug, mais aucun exploit automatisé fonctionnel n'était publiquement disponible, à l'exception des détails de la charge utile dans l'avis de Pentest-Tools.com lui-même — tout le reste était manuel, des tests ponctuels. Cela comble cette lacune : un script unique qui détecte une installation phpBB vulnérable, localise son panneau de connexion et exécute le contournement réel de bout en bout.
Cette vulnérabilité a été découverte et divulguée de manière responsable par Dan Stefan Alexandru de l'équipe de recherche en sécurité de Pentest-Tools.com, signalée à phpBB le 4 juin 2026. Ce dépôt est un PoC automatisé indépendant construit à partir de l'avis public — il n'est pas affilié à Pentest-Tools.com ou à phpBB.
phpBB prend en charge la connexion via un fournisseur d'identité externe (OAuth) au lieu d'un mot de passe local — le mécanisme d'authentification d'Apache lui-même est l'un des fournisseurs pris en charge. Le point de terminaison qui gère cela, ucp.php?mode=login_link&auth_provider=apache, prend le nom d'utilisateur directement de l'en-tête HTTP Authorization: Basic et démarre une session authentifiée pour cet utilisateur.
Le bug : il ne vérifie jamais réellement la partie mot de passe de cet en-tête. Une connexion normale vous rejette si le mot de passe est incorrect. Celui-ci ne le fait pas — il fait confiance à tout nom d'utilisateur que vous revendiquez et vous connecte en tant que celui-ci, quelle que soit la valeur du mot de passe que vous envoyez. Tout nom d'utilisateur enregistré plus un mot de passe inventé suffit pour obtenir une session entièrement authentifiée.
styles/prosilver/style.cfg, composer.json, styles/subsilver2/style.cfg ou feed.php, en essayant chacun à tour de rôle jusqu'à ce que l'un divulgue une chaîne de version.ucp.php tout seul si vous ne fournissez qu'un domaine nu — exploration limitée à la même origine d'abord, puis repli sur le sondage des chemins d'installation courants (forum/, board/, phpBB3/, etc.).--no-browser pour des requêtes HTTP simples plus rapides lorsque la cible n'est pas soumise à un défi. Essaie également de trouver l'IP d'origine réelle et non-Cloudflare d'un domaine (via les recherches de transparence des certificats crt.name + le sondage des sous-domaines admin/mail courants) et achemine les requêtes directement vers celle-ci lorsqu'elle est confirmée.git clone https://github.com/Ethicalgrey/phpBB-CVE-2026-48611.git
cd phpBB-CVE-2026-48611
chmod +x install.sh
./install.sh
install.sh est une configuration unique — il installe tout ce dont le script a besoin (requests, urllib3, playwright + son navigateur Chromium) directement dans votre environnement utilisateur, sans environnement virtuel à activer et sans configuration à répéter. Une fois terminé, python3 CVE-2026-48611.py ... fonctionne simplement, à chaque fois, depuis n'importe quel nouveau terminal.
# cible unique, domaine nu — trouve ucp.php, détecte la version, invite pour un
# nom d'utilisateur si vulnérable
python3 CVE-2026-48611.py -u example.com
# identique, mais découvre automatiquement un nom d'utilisateur depuis la
# memberlist publique au lieu d'en saisir un
python3 CVE-2026-48611.py -u example.com --auto
# mode HTTP simple plus rapide, sans Chromium — à utiliser lorsque la cible n'a
# pas de défi JS de type Cloudflare devant elle
python3 CVE-2026-48611.py -u example.com --no-browser
# exécute le navigateur visiblement (nécessaire si un défi JS exige un clic humain)
python3 CVE-2026-48611.py -u example.com --headed
# une liste d'hôtes, un par ligne — chaque hôte vulnérable invite toujours
# individuellement avant que l'exploit ne s'exécute
python3 CVE-2026-48611.py -l targets.txt
# ignore la vérification TLS (cibles avec certificats auto-signés / cassés)
python3 CVE-2026-48611.py -u example.com -k
-u/--url et -l/--list sont mutuellement exclusifs. --auto ne fonctionne qu'avec -u/--url — il n'est délibérément pas pris en charge en mode liste, afin qu'un run par lots ne déclenche jamais l'exploit sans qu'un humain confirme chaque cible au préalable.
login_link--auto — ignore l'invite de nom d'utilisateur manuelle et récupère un vrai nom d'utilisateur directement depuis la memberlist.php publique de la cible (ignore les comptes à apparence de personnel comme admin/modérateur/fondateur au profit d'un membre ordinaire, pour maintenir un run de PoC à faible impact).-l targets.txt — exécute tout le flux de détection-et-exploitation sur une liste d'hôtes en une seule fois ; chaque hôte vulnérable invite toujours individuellement avant que l'exploit ne se déclenche (ou choisit automatiquement un nom d'utilisateur avec --auto), donc rien ne s'exécute sans surveillance contre une liste de cibles.