Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-61628 — Proof-of-concept and disclosure pack for CVE-2026-61628, an unauthenticated TOCTOU privilege escalation in nginx-ignition 2.41.0 that allows admin account creation. | Kitploit
Tools/GitHubGitHub/abraxas/cve-2026-61628
Privilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingAuthenticationLabs & Practice
GitHubabraxas/cve-2026-61628

CVE-2026-61628

Proof-of-concept and disclosure pack for CVE-2026-61628, an unauthenticated TOCTOU privilege escalation in nginx-ignition 2.41.0 that allows admin account creation.

View Repository
11 day agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Abraxas Labs — CVE-2026-61628

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-61628

CVE-2026-61628

nginx-ignition 2.41.0 — lucasdillmann

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.

CVECVE-2026-61628 · CVE.org
CWECWE-362
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Productnginx-ignition
Affectedall versions through 2.41.0 (inclusive)
Patched2.41.1 and later
Authunauthenticated (see source map)
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 only · vendor/client disclosure pack, not a scanner

Advisory (from the source map)

api/user/onboarding_finish_handler.go check-then-act. Route AllowAnonymous in api/user/routes.go. Patch 2.41.1 FinishOnboarding.


Entry

  • Method: POST
  • Path: /api/users/onboarding/finish
  • Router: Anonymous AllowAnonymous POST /api/users/onboarding/finish. Handler check-then-act: OnboardingCompleted then Save with all permissions ReadWrite. Returns JWT.
  • Notes: CVE-2026-61628 CWE-362 nginx-ignition <= 2.41.0 unauthenticated admin creation. Witness: n200>=2 concurrent 200 JWTs with Users=READ_WRITE, or one 200 JWT on a virgin instance. Not RCE. Not a reverse shell.

Call chain

  • GET /api/users/onboarding/status finished=false
  • concurrent POST /api/users/onboarding/finish JSON name/username/password
  • OnboardingCompleted check then Save without lock
  • 200 JSON token JWT; GET /api/users/current Users=READ_WRITE

Lab preconditions

  • nginx-ignition 2.41.0
  • instance not yet onboarded (no users)

Witness

Unauthenticated 200 with JWT; /api/users/current Users=READ_WRITE. Race: n200>=2 distinct admin usernames.

Not success

  • all 403 after onboarding already finished
  • reverse shell
  • RCE

Patch / remediation

Do this first: Update nginx-ignition to 2.41.1 or newer.

Verify after upgrade

  • Re-run CVE-2026-61628-Abraxas-Labs.py against the patched build: the mapped witness must not appear.
  • Confirm the vendor advisory / changeset in the deployed tree (see references).
  • A WAF signature is delay, not a patch.

If you cannot update immediately

  • Disable or isolate the affected component.
  • Hunt for the witness condition on production (new privileged users, unexpected files, injected rows — whatever this CVE's map names).

Reproduction (authorized lab)

Target only http://127.0.0.1:8088 (or the loopback you bound). Do not point this script at the internet.

root@kitploit:~
python3 CVE-2026-61628-Abraxas-Labs.py

Success is the witness above in the response body. Generic 200 HTML is not it.


Lab images

Loopback stack used to reproduce. Official images unless a Dockerfile in this folder builds from source.

  • lab/docker-compose.yml
  • lab/Dockerfile
root@kitploit:~
cd lab
docker compose up --force-recreate

Bind the vulnerable product tree next to Compose if the YAML mounts a local directory (plugin zip / source tag from the version table). Publish nothing except 127.0.0.1.


References

  • CVE-2026-61628 · NVD

  • CVE-2026-61628 · CVE.org

  • github.com/lucasdillmann/nginx-ignition/security/advisories/GHSA-pxcx-fv34-x9p5

  • github.com/lucasdillmann/nginx-ignition/commit/0586b4e55ab780676d3553a2592979dfa2fb0183

  • www.cve.org/CVERecord?id=CVE-2026-61628

  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null


Records (structured)

root@kitploit:~
# 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.

License

This disclosure pack is licensed under the GNU Affero General Public License v3.0. See LICENSE.


Disclaimer

This pack is for the vendor, the site owner, and licensed labs. The script talks to 127.0.0.1. Using it against systems you do not own is not authorized by Abraxas Labs. No warranty.

abraxaslabs.tech · github.com/abraxas · @abraxas_null

Download Tool