
PoC automatizado para CVE-2026-48611 — omisión de autenticación en login_link de OAuth de phpBB
ÚSALO BAJO TU PROPIO RIESGO.
Esta herramienta se proporciona estrictamente para investigación de seguridad autorizada, pruebas de penetración y fines educativos. Solo ejecútala contra sistemas que poseas o para los que tengas permiso explícito y por escrito.
El autor no es responsable ni se hace cargo de ningún uso ilegal o poco ético de esta herramienta, ni de las consecuencias derivadas de dicho uso. Toda la responsabilidad legal y ética sobre cómo se opera esta herramienta recae únicamente en la persona que la ejecuta: el autor no participa, respalda ni tolera el uso no autorizado de este software.
PoC automatizado para la omisión de autenticación login_link de OAuth en phpBB
phpBB publicó CVE-2026-48611 con un informe técnico del fallo, pero no había ningún exploit automatizado funcional disponible públicamente en ningún sitio, salvo los detalles del payload en el propio aviso de Pentest-Tools.com — todo lo demás era pruebas manuales y puntuales. Esto cubre ese vacío: un único script que detecta una instalación vulnerable de phpBB, localiza su panel de inicio de sesión y ejecuta la omisión real de principio a fin.
Esta vulnerabilidad fue descubierta y divulgada de forma responsable por Dan Stefan Alexandru del equipo de investigación de seguridad de Pentest-Tools.com, y reportada a phpBB el 4 de junio de 2026. Este repositorio es un PoC independiente y automatizado construido a partir del aviso público — no está afiliado a Pentest-Tools.com ni a phpBB.
phpBB admite iniciar sesión a través de un proveedor de identidad externo (OAuth) en lugar de una contraseña local — el mecanismo de autenticación propio de Apache es uno de los proveedores compatibles. El endpoint que gestiona esto, ucp.php?mode=login_link&auth_provider=apache, toma el nombre de usuario directamente de la cabecera HTTP Authorization: Basic e inicia una sesión autenticada para ese usuario.
El fallo: nunca comprueba realmente la parte de la contraseña de esa cabecera. Un inicio de sesión normal te rechaza si la contraseña es incorrecta. Este no lo hace — confía en el nombre de usuario que declares y te inicia sesión como ese usuario independientemente del valor de contraseña que envíes. Cualquier nombre de usuario registrado más una contraseña inventada es suficiente para obtener una sesión totalmente autenticada.
styles/prosilver/style.cfg, composer.json, styles/subsilver2/style.cfg o feed.php, probando cada uno por turno hasta que uno revela una cadena de versión.ucp.php por sí sola si solo le pasas un dominio desnudo — primero un rastreo acotado del mismo origen, y luego recurre a probar rutas de instalación comunes (forum/, board/, phpBB3/, etc.).--no-browser para peticiones HTTP simples más rápidas cuando el objetivo no está protegido por desafíos. También intenta encontrar la IP de origen real y no perteneciente a Cloudflare de un dominio (mediante búsquedas de transparencia de certificados crt.name + sondeo de subdominios comunes de admin/correo) y enruta las peticiones directamente allí cuando se confirma una.git clone https://github.com/Ethicalgrey/phpBB-CVE-2026-48611.git
cd phpBB-CVE-2026-48611
chmod +x install.sh
./install.sh
install.sh es una configuración única — instala todo lo que el script necesita (requests, urllib3, playwright + su navegador Chromium) directamente en tu entorno de usuario, sin entorno virtual que activar ni configuración que repetir. Una vez que termina, python3 CVE-2026-48611.py ... simplemente funciona, cada vez, desde cualquier terminal nueva.
# objetivo único, dominio desnudo — encuentra ucp.php, detecta la versión,
# solicita un nombre de usuario si es vulnerable
python3 CVE-2026-48611.py -u example.com
# igual, pero descubre automáticamente un nombre de usuario de la memberlist
# pública en lugar de escribirlo
python3 CVE-2026-48611.py -u example.com --auto
# modo HTTP simple más rápido, sin Chromium — úsalo cuando el objetivo no tenga
# un desafío JS estilo Cloudflare delante
python3 CVE-2026-48611.py -u example.com --no-browser
# ejecuta el navegador de forma visible (necesario si un desafío JS requiere
# un clic humano)
python3 CVE-2026-48611.py -u example.com --headed
# una lista de hosts, uno por línea — cada host vulnerable sigue solicitando
# confirmación individualmente antes de que se ejecute el exploit
python3 CVE-2026-48611.py -l targets.txt
# omite la verificación TLS (objetivos con certificados autofirmados/rotos)
python3 CVE-2026-48611.py -u example.com -k
-u/--url y -l/--list son mutuamente excluyentes. --auto solo funciona con -u/--url — deliberadamente no es compatible en modo lista, de modo que una ejecución por lotes nunca dispara el exploit sin que un humano confirme cada objetivo primero.
login_link--auto — omite la petición manual de nombre de usuario y extrae un nombre de usuario real directamente del memberlist.php público del objetivo (omite cuentas con aspecto de personal como admin/moderador/fundador en favor de un miembro normal, para mantener un run de PoC de bajo impacto).-l targets.txt — ejecuta todo el flujo de detección y explotación en una lista de hosts de una sola vez; cada host vulnerable sigue solicitando confirmación individualmente antes de que se dispare el exploit (o elige automáticamente un nombre de usuario con --auto), de modo que nada se ejecuta sin supervisión contra una lista de objetivos.