The building manager's control panel forgot to check who's holding the badge
CVE-2026-50746 is an improper access control flaw (CWE-284) in the UniFi Connect Application — Ubiquiti's smart-building management suite that orchestrates commercial lighting, EV chargers, digital signage, and door hardware. In versions ≤ 3.4.16 (NVD lists < 3.4.20 as affected), a command-execution code path is reachable *without* passing through the authentication gate. Any actor with network reachability to the Connect Application host can drop unauthenticated HTTP(S) at the exposed API and get arbitrary OS command execution as the service user on the underlying UniFi OS host. The vendor patched in 3.4.20.
The vendor CRITICAL / 10.0 label is defensible here — this is the rare case where CVSS matches operational reality. AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H is technically accurate: no creds, no clicks, and scope changes because the Connect Application typically runs on a UniFi OS console (UDM/UDM Pro/UDR/UNVR/Cloud Key) that also hosts network, camera, and access controllers. Compromise doesn't stop at Connect — it lands you on the appliance that runs your network edge and physical access. The only reason we don't push above vendor is that most Connect deployments sit on internal management VLANs rather than the public internet.
4 steps from start to impact.
Reach the Connect Application listener
UniFi OS or via internal nmap of the mgmt subnet. No credentials, no user interaction.- TCP reachability to the Connect Application HTTPS port on the UniFi OS host
- Connect Application ≤ 3.4.16 installed and enabled
- Most enterprises restrict UniFi OS management UI to an isolated VLAN accessible only from IT jump hosts
- Public exposure is common in SMB / retail but rarer in enterprise IT-managed deployments
UniFi OS cert CN identify exposure; internal Nessus plugin coverage for Ubiquiti UniFi banner detection is partialHit the unauthenticated API endpoint
- Knowledge of the vulnerable route (trivial from patch diff)
- TLS accepts self-signed or valid cert
- WAF in front of the mgmt UI (rare for UniFi appliances)
- Reverse proxy path rewriting (uncommon in default deployments)
Command injection on host
command injection on the host device. Result: arbitrary shell execution as the Connect service account on UniFi OS (Linux-based). This is a native RCE, no memory-corruption gymnastics required.- Step 2 delivered the injection payload
- Very little — UniFi OS runs a fairly permissive Linux userland with no meaningful sandbox around service accounts
Pivot to network + physical access control
- Step 3 shell
- Host also runs Network / Access / Protect controllers (common default on all-in-one UDM/UDR deployments)
- Segmented deployments where Connect runs on a dedicated appliance limit blast radius
- SIEM ingestion of UniFi audit logs may flag rule changes
The supporting signals.
| In-the-wild status | Not confirmed exploited as of 2026-07-09; Ubiquiti has declined to comment on pre-disclosure exploitation of the SAB-066 bundle |
|---|---|
| KEV listed | No (as of 2026-07-09) — watch CISA feed given the exposure population |
| EPSS | 0.00826 (~30th–40th percentile) — expected to spike once a PoC lands |
| Public PoC | None published — patch diff between 3.4.16 and 3.4.20 is available and analysis is trivial; expect PoC within days |
| CVSS 3.1 | AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0 CRITICAL — Scope:Changed reflects impact on other UniFi controllers co-hosted on UniFi OS |
| Affected versions | UniFi Connect Application ≤ 3.4.16 (NVD lists < 3.4.20) |
| Fixed version | 3.4.20 and later — released via Ubiquiti's normal update channel; SAB-066 advisory |
| Exposure telemetry | ~100,000 UniFi OS endpoints exposed to the internet per Censys (July 2026); subset run Connect Application |
| Disclosed | 2026-07-02 as part of Ubiquiti's SAB-066 batch (25 CVEs across UniFi Connect, Talk, Access, Protect, and UniFi OS) |
| Reported by | Ubiquiti did not credit an external researcher in the SAB-066 disclosure — likely internal / bug-bounty triage |
noisgate verdict.
Verdict held at CRITICAL because the single decisive factor is unauthenticated command execution on a management appliance that co-hosts network, camera, and physical-access controllers — the affected component is canonically a high-value-role device where compromise ends in fleet-scale network and physical-access takeover. Public exposure of ~100,000 UniFi OS endpoints (Censys) makes this a real-world reachable chain, not a lab curiosity.
Why this verdict
- Unauthenticated + network-reachable + RCE: no credentials, no clicks, low complexity — the three ingredients that make a bug worth waking up for.
- Role multiplier — network edge appliance: UniFi OS is canonically an edge / management-plane device. Chain succeeds → attacker owns firewall rules, VPN config, and (where UniFi Access is deployed) door-unlock authority. Blast radius = site network + physical access. Floor is CRITICAL.
- Role multiplier — smart-building / OT-adjacent role: Connect specifically manages EV chargers, lighting, and building automation. In deployments where Connect drives real hardware, the chain reaches operational impact — not just IT.
- Exposure telemetry does not save you: even if only a fraction of the ~100,000 exposed UniFi OS endpoints run Connect, the absolute count of externally reachable targets is in the tens of thousands — internet-scan-and-pop is economical.
- Patch diff availability: 3.4.16 vs 3.4.20 is a trivial reverse. PoC and mass-scan tooling are on a days-to-weeks clock, not months.
Why not higher?
There is no severity bucket higher than CRITICAL. If there were, we'd still hold at CRITICAL: no confirmed in-the-wild exploitation yet, EPSS is still low, and enterprise deployments frequently restrict the Connect UI to an internal management VLAN — the population of *internet-exposed* Connect instances is a subset of the 100,000 UniFi OS endpoints, not the full number.
Why not lower?
Downgrading to HIGH would require either a meaningful auth prerequisite or a narrow blast radius — neither applies. The bug is pre-auth, the affected component is a management appliance with fleet-scale physical-and-network authority, and public exposure is measured in tens of thousands. Any of the standard downgrade levers (needs creds, needs UI click, one-tenant blast radius, sub-1% exposure) is absent here.
What to do — in priority order.
- Block Connect Application ports at the perimeter today — Confirm no WAN-side ACL permits inbound to the UniFi OS management ports (TCP 443/8443/8843) on any UDM/UDR/UNVR/Cloud Key running Connect. Push this via your edge firewall change window within the noisgate CRITICAL mitigation SLA of ≤3 days.
- Restrict Connect UI to a mgmt jump-host subnet — Add an interface ACL on the UniFi OS host itself limiting the Connect Application listener to your IT admin CIDR. Belt-and-braces in case perimeter rules are bypassed by a compromised internal host. Same 3-day window.
- Upgrade to UniFi Connect Application 3.4.20 or later — Roll the vendor patch fleet-wide within the noisgate CRITICAL remediation SLA of ≤90 days. Ubiquiti pushes via the standard Applications update channel; auto-update is safe for this release per SAB-066 notes but validate in a canary group first if you have >50 sites.
- Enable syslog forwarding from UniFi OS to your SIEM — Ship audit logs, admin actions, and Access door-unlock events to Splunk / Sentinel / Elastic so any post-compromise config or door-state change is visible. Do this in parallel with the patch — value outlives this CVE.
- Rotate Connect and Access API tokens post-patch — If any Connect deployment was internet-reachable prior to 3.4.20, assume tokens and integration credentials may have been read post-RCE and rotate them once patched.
- MFA on the Connect UI — the vulnerable path is *unauthenticated*, so MFA is never reached.
- Strong admin passwords / password rotation — same reason; credentials are irrelevant when the endpoint skips auth entirely.
- EDR on Windows admin workstations — the exploit lands on the UniFi OS Linux host, not on admin endpoints; workstation EDR sees nothing.
- IDS signatures for known UniFi CVEs — no public signature exists for CVE-2026-50746 yet; relying on stock ET rules is a false sense of coverage.
Crowdsourced verification payload.
Run this on an auditor workstation or jump host that can reach your UniFi OS consoles' management IPs. It queries the Connect Application's version endpoint over HTTPS and compares against the patched version 3.4.20. Invoke as ./check-cve-2026-50746.sh 10.0.0.1 for a single host, or pipe an inventory: cat unifi-ips.txt | xargs -n1 ./check-cve-2026-50746.sh. No credentials required.
#!/usr/bin/env bash
# noisgate check for CVE-2026-50746 — UniFi Connect Application unauth RCE
# Usage: ./check-cve-2026-50746.sh <host-or-ip> [port]
# Exits: 0 PATCHED, 1 VULNERABLE, 2 UNKNOWN
set -u
HOST="${1:-}"
PORT="${2:-443}"
FIXED="3.4.20"
if [[ -z "$HOST" ]]; then
echo "usage: $0 <host> [port]" >&2
exit 2
fi
# Query Connect Application info endpoint; UniFi OS surfaces app versions via /api/applications
RESP=$(curl -ksS --max-time 8 "https://${HOST}:${PORT}/api/applications" 2>/dev/null || true)
if [[ -z "$RESP" ]]; then
echo "${HOST} UNKNOWN (no response from UniFi OS API)"
exit 2
fi
# Extract Connect app version (JSON field name varies by UniFi OS release)
VER=$(echo "$RESP" | grep -oE '"(name|slug)"\s*:\s*"connect"[^}]*"version"\s*:\s*"[0-9.]+"' \
| grep -oE '"version"\s*:\s*"[0-9.]+"' | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
if [[ -z "$VER" ]]; then
echo "${HOST} UNKNOWN (Connect Application not installed or API shape differs)"
exit 2
fi
# Semver compare: is VER >= FIXED ?
newest=$(printf '%s\n%s\n' "$VER" "$FIXED" | sort -V | tail -1)
if [[ "$VER" == "$FIXED" || "$newest" == "$VER" && "$VER" != "$FIXED" ]]; then
echo "${HOST} PATCHED (Connect ${VER} >= ${FIXED})"
exit 0
else
echo "${HOST} VULNERABLE (Connect ${VER} < ${FIXED}) — CVE-2026-50746"
exit 1
fi
If you remember one thing.
Sources
- SOCRadar — CVE-2026-50746 in UniFi Connect
- The Hacker News — Ubiquiti patches critical UniFi flaws
- BleepingComputer — max severity UniFi OS vulnerability
- Security Affairs — Ubiquiti patches critical UniFi OS flaws
- Tech Times — CVSS 10.0 flaw exposes 100,000 endpoints (Censys)
- Cybersecurity News — 25 UniFi ecosystem vulnerabilities
- BeyondMachines — patches following active exploitation reports
- Ubiquiti Security Advisories (SAB-066)
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.