
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 एडमिन अनुमतियों वाला उपयोगकर्ता बनाता है। चूँकि हैंडलर onboarding already completed जाँच और user-creation write के बीच check-then-act (TOCTOU) पैटर्न का उपयोग करता है, बिना किसी atomic guard के, एक रिमोट अप्रमाणित हमलावर जो किसी इंस्टेंस तक उसकी pre-onboarding स्थिति में पहुँच सकता है, अपने लिए एक एडमिनिस्ट्रेटर खाता बना सकता है, और समवर्ती अनुरोध एक ही race में कई एडमिन खाते बना सकते हैं। संस्करण 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 · vendor/client disclosure pack, स्कैनर नहीं |
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 (या जो loopback आपने बाइंड किया है)। इस स्क्रिप्ट को इंटरनेट की ओर निर्देशित न करें।
python3 CVE-2026-61628-Abraxas-Labs.py
सफलता प्रतिक्रिया बॉडी में ऊपर दिया गया witness है। सामान्य 200 HTML यह नहीं है।
प्रतिलिपि बनाने के लिए उपयोग किया गया loopback स्टैक। आधिकारिक इमेजें, जब तक कि इस फ़ोल्डर में कोई Dockerfile स्रोत से बिल्ड न करे।
cd lab
docker compose up --force-recreate
यदि YAML किसी स्थानीय निर्देशिका को माउंट करता है (संस्करण तालिका से plugin zip / source tag) तो कमजोर उत्पाद ट्री को 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.
यह disclosure pack GNU Affero General Public License v3.0 के अंतर्गत लाइसेंस प्राप्त है। LICENSE देखें।
यह pack vendor, साइट स्वामी, और लाइसेंस प्राप्त लैब के लिए है। स्क्रिप्ट 127.0.0.1 से बात करती है। इसका उपयोग उन सिस्टम के विरुद्ध करना जो आपके स्वामित्व में नहीं हैं, Abraxas Labs द्वारा अधिकृत नहीं है। कोई वारंटी नहीं।