
Proof-of-Concept- und Disclosure-Paket für CVE-2026-61628, eine unauthentifizierte TOCTOU-Privilegieneskalation in nginx-ignition 2.41.0, die das Anlegen von Admin-Konten ermöglicht.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-61628
nginx-ignition 2.41.0 — lucasdillmann
nginx ignition ist eine Benutzeroberfläche für den nginx-Webserver. Vor Version 2.41.1 ist POST /api/users/onboarding/finish als anonym (unauthentifiziert) registriert und erstellt einen Benutzer mit vollständigen ReadWrite-Admin-Berechtigungen. Da der Handler ein Check-then-act-Muster (TOCTOU) zwischen der Prüfung, ob das Onboarding bereits abgeschlossen ist, und dem Schreiben der Benutzererstellung verwendet, ohne atomare Absicherung, kann ein entfernter, nicht authentifizierter Angreifer, der eine Instanz im Pre-Onboarding-Zustand erreichen kann, ein Administrator-Konto für sich selbst erstellen, und gleichzeitige Anfragen können in einem einzigen Race mehrere Admin-Konten erstellen. Version 2.41.1 behebt das Problem.
| CVE | CVE-2026-61628 · CVE.org |
| 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 |
| Produkt | nginx-ignition |
| Betroffen | alle Versionen bis einschließlich 2.41.0 |
| Gepatcht | 2.41.1 und später |
| Auth | unauthentifiziert (siehe Source Map) |
| Lizenz | GNU Affero GPL v3.0 |
| Lab | nur 127.0.0.1 · Vendor/Client-Disclosure-Paket, kein Scanner |
api/user/onboarding_finish_handler.go check-then-act. Route AllowAnonymous in api/user/routes.go. Patch 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_WRITEUnauthentifiziertes 200 mit JWT; /api/users/current Users=READ_WRITE. Race: n200>=2 unterschiedliche Admin-Benutzernamen.
Zuerst dies tun: Aktualisieren Sie nginx-ignition auf 2.41.1 oder neuer.
Nach dem Upgrade überprüfen
CVE-2026-61628-Abraxas-Labs.py erneut gegen den gepatchten Build aus: Der zugeordnete Nachweis darf nicht erscheinen.Wenn Sie nicht sofort aktualisieren können
Zielen Sie nur auf http://127.0.0.1:8088 (oder das Loopback, an das Sie gebunden haben). Richten Sie dieses Skript nicht auf das Internet.
python3 CVE-2026-61628-Abraxas-Labs.py
Erfolg ist der Nachweis oben im Response-Body. Generisches 200 HTML ist es nicht.
Loopback-Stack zur Reproduktion. Offizielle Images, sofern nicht ein Dockerfile in diesem Ordner aus dem Quellcode baut.
cd lab
docker compose up --force-recreate
Binden Sie den verwundbaren Produkt-Tree neben Compose ein, wenn die YAML ein lokales Verzeichnis mountet (Plugin-Zip / Source-Tag aus der Versionstabelle). Veröffentlichen Sie nichts außer 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.
Dieses Disclosure-Paket ist unter der GNU Affero General Public License v3.0 lizenziert. Siehe LICENSE.
Dieses Paket ist für den Vendor, den Site-Eigentümer und lizenzierte Labs. Das Skript kommuniziert mit 127.0.0.1. Die Verwendung gegen Systeme, die Ihnen nicht gehören, ist von Abraxas Labs nicht autorisiert. Keine Gewährleistung.