Unauthenticated Admin Account Creation in nginx-ignition via TOCTOU Race Condition
An unauthenticated time-of-check to time-of-use (TOCTOU) race condition in the nginx-ignition onboarding API allows remote attackers to create administrative accounts on fresh or reset instances.
CVE search metadata
CVE search record: CVE-2026-61628. Severity: high. CVSS: 8.1. KEV: no. Product: nginx-ignition (< 0.0.0-20260621194639-0586b4e55ab). Brief: Unauthenticated Admin Account Creation in nginx-ignition via TOCTOU Race Condition. Brief link: https://feed.craftedsignal.io/briefs/2026-09-nginx-ignition-race-condition/
The nginx-ignition project, prior to version 0.0.0-20260621194639-0586b4e55ab, is vulnerable to an unauthenticated administrative account creation vulnerability (CVE-2026-61628). The vulnerability exists in the POST /api/users/onboarding/finish endpoint, which is explicitly registered as anonymous. The handler performs a check-then-act pattern (TOCTOU) to verify if the system onboarding process has already been completed.
Because the application lacks an atomic guard, database-level unique constraint, or mutex between the state verification (OnboardingCompleted) and the account creation (Save), an unauthenticated remote attacker can exploit a race condition during the installation window. By sending concurrent requests, an attacker can bypass the intent of a single-admin setup and mint multiple administrative accounts, each returning a valid JWT with full ReadWrite permissions. This effectively grants an attacker full control over the nginx-ignition instance, including the ability to manage hosts, routes, and certificates, which can be further abused to facilitate SSRF or arbitrary command execution via the managed nginx server.
Attack Chain
- Attacker monitors for newly deployed or reset instances of nginx-ignition, identifiable via the onboarding status check endpoint.
- Attacker prepares a series of concurrent HTTP POST requests to
/api/users/onboarding/finishcontaining a malicious username and password. - The target instance receives the concurrent requests before the legitimate administrator completes the initial setup.
- Each request passes the initial
OnboardingCompletedcheck because the state has not been finalized yet. - The server proceeds to
Saveeach request as a separate administrator user with full ReadWrite permissions. - The server returns valid administrative JWTs to the attacker for each successful registration.
- Attacker uses a valid administrative JWT to gain full control over the nginx server configuration and system settings.
Impact
Successful exploitation results in full administrative takeover of the nginx-ignition application. This allows an attacker to manipulate server configurations, redirect traffic, steal credentials, and potentially achieve arbitrary command execution on the underlying host. The TOCTOU race condition also facilitates the creation of multiple persistence accounts from a single concurrent burst, hindering incident response and remediation efforts.
Recommendation
- Upgrade nginx-ignition to version 0.0.0-20260621194639-0586b4e55ab or later to resolve CVE-2026-61628.
- Implement atomic database constraints for user creation to prevent concurrent account registration in the onboarding handler.
- Restrict network access to the onboarding API endpoints until the legitimate administrator completes the setup process.
- Enable server-side logging for all requests to
/api/users/onboarding/finishto monitor for anomalous bursts of POST requests.
Immediate actions
Deploy Sigma rule to detect onboarding spikes
Mitigations
Upgrade nginx-ignition to version 0.0.0-20260621194639-0586b4e55ab
CVE-2026-61628
Detection coverage 1
Detect Exploitation of CVE-2026-61628 - Multiple Onboarding Requests
highDetects a burst of POST requests to the onboarding finish endpoint within a short timeframe, which may indicate an attempt to exploit the TOCTOU race condition.
Detection queries are available on the platform. Get full rules →