CVE-2026-34908
Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.
Apply mitigations in accordance with vendor instructions, ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes). Follow applicable BOD 26-04 guidance for cloud services or discontinue use of the product if mitigations are unavailable. Stakeholders are responsible for evaluating each asset's internet exposure and ensuring adherence to BOD 26-04 patching guidelines.
Resumo
Falha de controle de acesso (CWE-284) no UniFi OS que permite a um atacante com acesso de rede — sem autenticação — atingir rotas internas do sistema que deveriam estar restritas ao gateway de proxy interno, resultando em alterações não autorizadas no dispositivo. É uma das três vulnerabilidades CVSS 10.0 do boletim SAB-064 da Ubiquiti, e está confirmada em exploração ativa (KEV da CISA) como parte de uma cadeia que derruba um botnet Mirai em UniFi OS Server expostos.
Detalhamento técnico
O advisório oficial da Ubiquiti (SAB-064) descreve apenas que atacantes com acesso à rede podem explorar controle de acesso impróprio para fazer alterações não autorizadas — sem detalhar o mecanismo interno. Pesquisadores da PwnDefend fizeram engenharia reversa (com apoio de análise assistida por LLM, portanto classificada por eles mesmos como inferência, não confirmação de código-fonte) e descreveram dois vetores plausíveis para essa CVE: (a) o serviço de proxy interno do UniFi OS aceita, vindos do próprio cliente, cabeçalhos que deveriam ser injetados apenas internamente após autenticação — X-UserId, X-UserRole, X-UserAccessMask, X-UserPermissionMask, X-ApiKeyId, X-Token, X-From-Service, X-UI-Peer-Token — permitindo forjar contexto de usuário/permissão; e (b) travessia de caminho via sequências ..%2f codificadas dentro de rotas /proxy//... que escapam do escopo pretendido do gateway nginx e alcançam endpoints internos não expostos.
Como é explorada
A cadeia observada em honeypots (PwnDefend/Xservus) combina esta CVE com CVE-2026-34910 (injeção de comando no parâmetro pkg_name de um endpoint interno de atualização de pacotes). O atacante usa o bypass de controle de acesso do CVE-2026-34908 para alcançar, sem autenticação, uma rota de atualização que só deveria ser acessível localmente pelo próprio sistema; em seguida injeta comandos no parâmetro de nome de pacote, obtendo execução de comando como root. O resultado documentado é o download e execução de um implante derivado de Mirai/Gafgyt (nomeado azsxd v2.0), a partir de um loader multi-arquitetura hospedado em infraestrutura de staging (185.228.26.16, HTTP/TFTP), formando um botnet IoT.
Versões
Como se proteger
A Ubiquiti publicou versões corrigidas por linha de produto no SAB-064: nenhuma flag de configuração ou desativação de serviço foi divulgada como mitigação alternativa — a única correção efetiva é a atualização. Não há indicação de mitigação por WAF publicada pelo fornecedor; dado que o vetor envolve manipulação de cabeçalhos internos e travessia de caminho em rotas de proxy, um WAF/reverse proxy à frente do dispositivo pode reduzir superfície bloqueando cabeçalhos X-User*/X-Api*/X-Token vindos de fora e sequências de travessia codificadas em URLs, mas isso é controle compensatório, não substitui o patch — a Ubiquiti não homologa esse tipo de contorno.
Como detectar
Nos logs de acesso do proxy/nginx do UniFi OS, procure requisições com sequências de travessia codificadas (..%2f, %2e%2e) em caminhos /proxy//... ou /app-assets/, e especialmente pela assinatura observada na exploração real: caminhos combinando /api/auth/validate-sso/ com travessia até /proxy/users/api/v2/ucs/update/latest_package e o parâmetro pkg_name contendo metacaracteres de shell. No host, um sinal forte de comprometimento é um processo cujo binário já foi deletado do disco (padrão comum de droppers Mirai) e conexões de saída para infraestrutura de staging associada (IP 185.228.26.16 reportado). Como o vetor de acesso não deixa necessariamente rastro em ferramentas de auditoria de autenticação (o bypass evita o fluxo normal de login), a ausência de eventos de autenticação não é garantia de que não houve exploração — a checagem precisa focar nos logs de requisição HTTP, não nos logs de auth.