Summary
CVE-2026-61628 is a High severity (CVSS 8.1) race condition vulnerability in nginx-ignition, a web-based management UI for the nginx web server. The flaw resides in the unauthenticated onboarding-completion endpoint, where a time-of-check-time-of-use (TOCTOU) gap allows an attacker to create one or more administrator accounts before legitimate setup completes. Successful exploitation grants full administrative control over the nginx-ignition management panel, including the ability to inject arbitrary nginx configuration directives.
Technical details
- Root cause: the
POST /api/users/onboarding/finishendpoint is registered for anonymous (unauthenticated) access and performs a non-atomic check-then-act sequence — it first calls a check (OnboardingCompleted()) to see if any user accounts already exist, then, if none are found, hashes a supplied password and writes a new administrator account via aSave()call. - Trigger condition: no database lock, transaction wrapper, or unique constraint exists between the check and the write, so the endpoint is only exploitable while an instance is in its unconfigured, pre-onboarding state (before the first admin account has been created).
- Attack vector: network, unauthenticated (AV:N/PR:N/UI:N), but requires high attack complexity (AC:H) because the attacker must win a race by sending concurrent requests to the endpoint before onboarding completes.
- Impact: an attacker who reaches a fresh or reset nginx-ignition instance can register themselves as an administrator, and racing the endpoint can create multiple admin accounts in a single burst, resulting in full confidentiality, integrity, and availability impact on the managed nginx configuration.
Affected software
- nginx-ignition versions up to and including 2.41.0
- Fixed in version 2.41.1
Severity
- CVSS v3.1 Base Score: 8.1 (High)
- Vector:
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: upgrade nginx-ignition to version 2.41.1 or later, which addresses the race condition.
- If immediate patching is not possible:
- Restrict network access to newly deployed or reset nginx-ignition instances until the initial onboarding/admin setup has been completed, so the unauthenticated endpoint is not reachable from untrusted networks.
- Complete the onboarding process (create the initial admin account) immediately after deployment to close the exploitable window as quickly as possible.
- Audit existing admin accounts on any instance that was exposed to the network prior to patching, to rule out that extra administrator accounts were created during the vulnerable window.

