🔍 Contexte
Le 5 juin 2026, Bishop Fox (chercheur Jon Williams) publie une analyse technique approfondie d’une chaîne d’exploitation affectant UniFi OS Server d’Ubiquiti, couverte par le Security Advisory Bulletin 064 (SAB-064) publié le 21 mai 2026. L’analyse porte sur les versions 5.0.6 et inférieures (unifi-core ≤ 5.0.126), validée sur une cible live.
🧩 Chaîne d’exploitation (3 parties)
Partie 1 — Contournement de l’authentification (CVE-2026-34908 / CVE-2026-34909, CVSS 10.0)
- Le proxy Nginx utilise
$request_uri(brut, encodé) pour la vérification d’authentification viaauth_request, mais$uri(normalisé, décodé) pour le routage vers les backends. - Une requête dont l’URI brut commence par
/api/auth/validate-sso/(route publique exemptée) mais dont la forme normalisée résout vers/proxy/<service>/(route authentifiée) contourne le contrôle d’accès. - Des séquences de path traversal encodées (
..%2f,..%2e,%2e%2e) permettent cette divergence.
Partie 2 — Injection de commande (CVE-2026-34910, CVSS 10.0 / CVE-2026-33000, CVSS 9.1)
- La route
package-updatedans le backend Goulp-go/identity-updateconstruit une commande shell viafmt.Sprintf:sudo /usr/bin/uos runnable latest-versions %voù%vest le nom de paquet fourni par l’attaquant, sans validation. - La chaîne est exécutée via
sh -c, permettant l’interprétation de métacaractères shell. - CVE-2026-34910 = accès non authentifié via le bypass ; CVE-2026-33000 = même sink avec token valide.
Partie 3 — Élévation de privilèges vers root
- L’injection s’exécute sous le compte de service
ucs-update, qui dispose d’entréessudoerssans mot de passe pour/usr/bin/dpkg,/bin/chmod,/bin/systemctl,/usr/bin/uos. - Installation d’un paquet
.debmalveillant viasudo dpkgdont le script post-install s’exécute en root → shell root confirmé.
💥 Impact post-exploitation
- Lecture de tous les secrets : clé de signature JWT (
jwt.yaml), clés TLS privées, tokens cloud, base PostgreSQL (comptes, sessions, SSO), secrets RADIUS/WiFi/VPN/WireGuard, données NFC et biométriques (UniFi Access), hashes/etc/shadow. - Sessions forgées survivant au patch : la clé JWT permet de forger des tokens HS256 valides (
role: owner) fonctionnant même sur une version 5.0.8 patchée tant que la clé n’est pas rotée. - Contrôle physique : déverrouillage de portes, désactivation de caméras, suppression d’enregistrements (UniFi Access / UniFi Protect).
- Pivot multi-sites : tokens cloud permettant d’atteindre d’autres sites via le compte Ubiquiti cloud.
- Impact disponibilité : effacement de configurations, reset usine, firmware brickant.
🛠️ Correctifs (UniFi OS Server 5.0.8)
- Guard Nginx : comparaison nom de service brut vs normalisé, rejet HTTP 400 en cas de divergence.
- Validation Go : allowlist de noms de paquets + réécriture du sink sans
sh -c(tableau d’arguments). - Durcissement sudoers : suppression de
/usr/bin/dpkget/bin/chmodde la liste passwordless deucs-update(partiel — un autre compte conserve des droits root).
🔎 Détection
- Outil de détection safe publié :
https://github.com/BishopFox/CVE-2026-34908-check - Signature : URI contenant
/api/auth/validate-sso/avec séquences de traversal encodées. - Surveillance de la route
.../ucs/update/latest_packageavec métacaractères shell. - Processus enfants anormaux sous
ucs-update(sudo dpkg,chmod,systemctl).
📋 Type d’article
Analyse technique et rapport de vulnérabilité publié par Bishop Fox, visant à documenter la chaîne d’exploitation, fournir un outil de détection et informer les défenseurs sur l’étendue réelle du risque post-exploitation.
🧠 TTPs et IOCs détectés
TTP
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
- T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
- T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
- T1553 — Subvert Trust Controls (Defense Evasion)
- T1078 — Valid Accounts (Persistence)
- T1505.003 — Server Software Component: Web Shell (Persistence)
- T1083 — File and Directory Discovery (Discovery)
- T1003 — OS Credential Dumping (Credential Access)
- T1210 — Exploitation of Remote Services (Lateral Movement)
IOC
- CVEs :
CVE-2026-34908— NVD · CIRCL - CVEs :
CVE-2026-34909— NVD · CIRCL - CVEs :
CVE-2026-34910— NVD · CIRCL - CVEs :
CVE-2026-33000— NVD · CIRCL - CVEs :
CVE-2026-34911— NVD · CIRCL - Chemins :
/data/unifi-core/config/jwt.yaml - Chemins :
/etc/shadow
🟡 Indice de vérification factuelle : 50/100 (moyenne)
- ⬜ bishopfox.com — source non référencée (0pts)
- ✅ 29125 chars — texte complet (fulltext extrait) (15pts)
- ✅ 7 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 10 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ 0/5 CVE(s) confirmée(s) (0pts)
🔗 Source originale : https://bishopfox.com/blog/popping-root-on-unifi-os-server-unauthenticated-rce-chain-detection-analysis