
Proof-of-concept и пакет раскрытия для CVE-2026-61628 — неаутентифицированное повышение привилегий через TOCTOU в nginx-ignition 2.41.0, позволяющее создать учётную запись администратора.
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 |
| Продукт | nginx-ignition |
| Затронуты | все версии по 2.41.0 (включительно) |
| Исправлено | 2.41.1 и новее |
| Аутентификация | неаутентифицированный (см. карту исходников) |
| Лицензия | GNU Affero GPL v3.0 |
| Лаборатория | только 127.0.0.1 · пакет раскрытия для вендора/клиента, не сканер |
api/user/onboarding_finish_handler.go check-then-act. Маршрут AllowAnonymous в api/user/routes.go. Патч 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_WRITEНеаутентифицированный 200 с JWT; /api/users/current Users=READ_WRITE. Гонка: n200>=2 различных имён администраторов.
Сделайте это в первую очередь: Обновите nginx-ignition до 2.41.1 или новее.
Проверка после обновления
CVE-2026-61628-Abraxas-Labs.py против исправленной сборки: отображённое свидетельство не должно появиться.Если вы не можете обновиться немедленно
Цель — только http://127.0.0.1:8088 (или loopback, к которому вы привязались). Не направляйте этот скрипт в интернет.
python3 CVE-2026-61628-Abraxas-Labs.py
Успех — это свидетельство, указанное выше, в теле ответа. Обычный 200 HTML — это не оно.
Loopback-стек, использованный для воспроизведения. Официальные образы, если только Dockerfile в этой папке не собирает из исходников.
cd lab
docker compose up --force-recreate
Привяжите уязвимое дерево продукта рядом с Compose, если YAML монтирует локальный каталог (zip плагина / тег исходников из таблицы версий). Не публикуйте ничего, кроме 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.
Этот пакет предназначен для вендора, владельца сайта и лицензированных лабораторий. Скрипт обращается к 127.0.0.1. Использование его против систем, которыми вы не владеете, не авторизовано Abraxas Labs. Без гарантий.