
CVE-2026-61628에 대한 개념 증명 및 공개 패키지로, nginx-ignition 2.41.0에서 관리자 계정 생성을 허용하는 인증되지 않은 TOCTOU 권한 상승 취약점입니다.
abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-61628
nginx-ignition 2.41.0 — lucasdillmann
nginx ignition은 nginx 웹 서버를 위한 사용자 인터페이스입니다. 버전 2.41.1 이전에서 POST /api/users/onboarding/finish가 익명(비인증)으로 등록되어 있으며, 전체 ReadWrite 관리자 권한을 가진 사용자를 생성합니다. 핸들러가 온보딩 완료 여부 확인과 사용자 생성 쓰기 사이에 원자적 가드 없이 check-then-act(TOCTOU) 패턴을 사용하기 때문에, 온보딩 이전 상태의 인스턴스에 접근할 수 있는 원격 비인증 공격자가 자신을 위한 관리자 계정을 생성할 수 있으며, 동시 요청을 통해 단일 레이스에서 여러 관리자 계정을 생성할 수 있습니다. 버전 2.41.1에서 이 문제가 패치되었습니다.
| 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 |
| Product | nginx-ignition |
| Affected | 2.41.0 이하 모든 버전 (포함) |
| Patched | 2.41.1 이상 |
| Auth | 비인증 (소스 맵 참조) |
| License | GNU Affero GPL v3.0 |
| Lab | 127.0.0.1 전용 · 벤더/클라이언트 공개 팩, 스캐너 아님 |
api/user/onboarding_finish_handler.go check-then-act. api/user/routes.go의 Route AllowAnonymous. 패치 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_WRITEJWT와 함께 비인증 200; /api/users/current Users=READ_WRITE. Race: n200>=2 서로 다른 관리자 사용자 이름.
먼저 이것을 하세요: nginx-ignition을 2.41.1 이상으로 업데이트하세요.
업그레이드 후 확인
CVE-2026-61628-Abraxas-Labs.py를 다시 실행하세요: 매핑된 witness가 나타나지 않아야 합니다.즉시 업데이트할 수 없는 경우
오직 http://127.0.0.1:8088 (또는 바인딩한 루프백)만 대상으로 하세요. 이 스크립트를 인터넷을 향해 지정하지 마세요.
python3 CVE-2026-61628-Abraxas-Labs.py
성공은 응답 본문에 위의 witness가 있는 것입니다. 일반적인 200 HTML은 아닙니다.
재현에 사용된 루프백 스택. 이 폴더의 Dockerfile이 소스에서 빌드하지 않는 한 공식 이미지입니다.
cd lab
docker compose up --force-recreate
YAML이 로컬 디렉터리를 마운트하는 경우 (버전 테이블의 플러그인 zip / 소스 태그) Compose 옆에 취약한 제품 트리를 바인딩하세요. 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.
이 공개 팩은 GNU Affero General Public License v3.0에 따라 라이선스가 부여됩니다. LICENSE를 참조하세요.
이 팩은 벤더, 사이트 소유자, 라이선스된 Lab을 위한 것입니다. 스크립트는 127.0.0.1과 통신합니다. 소유하지 않은 시스템에 대해 사용하는 것은 Abraxas Labs에 의해 승인되지 않습니다. 보증 없음.