
Prueba de concepto y paquete de divulgación para CVE-2026-61628, una escalada de privilegios TOCTOU no autenticada en nginx-ignition 2.41.0 que permite la creación de cuentas de administrador.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-61628
nginx-ignition 2.41.0 — lucasdillmann
nginx ignition es una interfaz de usuario para el servidor web nginx. Antes de la versión 2.41.1, POST /api/users/onboarding/finish está registrado como anónimo (no autenticado) y crea un usuario con permisos de administrador ReadWrite completos. Debido a que el manejador utiliza un patrón de verificación-y-acción (TOCTOU) entre la comprobación de onboarding ya completado y la escritura de creación del usuario, sin una protección atómica, un atacante remoto no autenticado que pueda alcanzar una instancia en su estado previo al onboarding puede crear una cuenta de administrador para sí mismo, y las solicitudes concurrentes pueden crear múltiples cuentas de administrador en una sola carrera. La versión 2.41.1 corrige el problema.
| CVE | CVE-2026-61628 · CVE.org |
| CWE | CWE-362 |
| CVSS | Alto: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Producto | nginx-ignition |
| Afectadas | todas las versiones hasta la 2.41.0 (inclusive) |
| Corregida | 2.41.1 y posteriores |
| Autenticación | no autenticado (ver mapa de origen) |
| Licencia | GNU Affero GPL v3.0 |
| Laboratorio | solo 127.0.0.1 · paquete de divulgación para el proveedor/cliente, no un escáner |
api/user/onboarding_finish_handler.go check-then-act. Ruta AllowAnonymous en api/user/routes.go. Parche 2.41.1 FinishOnboarding.
POST/api/users/onboarding/finishGET /api/users/onboarding/status finished=falseconcurrent POST /api/users/onboarding/finish JSON name/username/passwordOnboardingCompleted check then Save without lock200 JSON token JWT; GET /api/users/current Users=READ_WRITE200 no autenticado con JWT; /api/users/current Users=READ_WRITE. Carrera: n200>=2 nombres de usuario administrador distintos.
Haga esto primero: Actualice nginx-ignition a 2.41.1 o posterior.
Verificar después de la actualización
CVE-2026-61628-Abraxas-Labs.py contra la compilación parcheada: el testigo mapeado no debe aparecer.Si no puede actualizar inmediatamente
Objetivo solo http://127.0.0.1:8088 (o el loopback que haya enlazado). No apunte este script a internet.
python3 CVE-2026-61628-Abraxas-Labs.py
El éxito es el testigo anterior en el cuerpo de la respuesta. Un 200 HTML genérico no lo es.
Pila de loopback utilizada para reproducir. Imágenes oficiales a menos que un Dockerfile en esta carpeta se compile desde el código fuente.
cd lab
docker compose up --force-recreate
Enlace el árbol del producto vulnerable junto a Compose si el YAML monta un directorio local (zip del plugin / etiqueta de origen de la tabla de versiones). No publique nada excepto 127.0.0.1.
github.com/lucasdillmann/nginx-ignition/security/advisories/GHSA-pxcx-fv34-x9p5
github.com/lucasdillmann/nginx-ignition/commit/0586b4e55ab780676d3553a2592979dfa2fb0183
Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null
# CVE-2026-61628
CWE: CWE-362
CVSS: High 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
## NVD description
nginx ignition is a user interface for the nginx web server. Prior to version 2.41.1, POST /api/users/onboarding/finish is registered as anonymous (unauthenticated) and creates a user with full ReadWrite admin permissions. Because the handler uses a check-then-act (TOCTOU) pattern between the onboarding already completed check and the user-creation write, with no atomic guard, a remote unauthenticated attacker who can reach an instance in its pre-onboarding state can create an administrator account for themselves, and concurrent requests can create multiple admin accounts in a single race. Version 2.41.1 patches the issue.
## Product
nginx-ignition 2.41.0 (fixed in 2.41.1). Not RCE.
Este paquete de divulgación está licenciado bajo la GNU Affero General Public License v3.0. Ver LICENSE.
Este paquete es para el proveedor, el propietario del sitio y laboratorios con licencia. El script se comunica con 127.0.0.1. Usarlo contra sistemas que no posee no está autorizado por Abraxas Labs. Sin garantía.