← voltar
CVE-2023-35674highsob ataqueCWE-269

CVE-2023-35674

71Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 8.8epss 2.2%
da publicação à arma0 dias
Publicada no NVD11 de set.
1ª PoC11 de set.
CISA KEV+2d
probabilidade de exploração
2.2%top 19% das CVEs
exploração observada
simCISA + VulnCheck
2 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2023-10-04

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

Resumo

Falha de lógica em WindowState.java (Android Framework) permite que um app já instalado — sem privilégios adicionais — contorne a proteção contra Background Activity Launch (BAL) e lance uma activity mesmo estando em segundo plano. É escalação de privilégio local, sem interação do usuário, e o próprio boletim do Google indica exploração limitada e direcionada antes da publicação — por isso entrou no catálogo KEV da CISA.

Detalhamento técnico

O Android restringe quando um app em background pode iniciar uma activity (BAL — Background Activity Launch), justamente para impedir que apps maliciosos sequestrem a tela do usuário sem que ele tenha interagido com esse app. Essa decisão é tomada em parte pelo WindowManager, olhando se o app requisitante possui alguma janela 'visível' que justifique a permissão.

O commit de correção (Bug 264029851 / 205130886) revela o mecanismo: janelas do tipo TYPE_PRESENTATION associadas a displays virtuais estavam sendo contabilizadas como janelas visíveis normais no cálculo de onCreate/verificação de BAL do WindowState.java. Um app conseguia manter uma dessas janelas de apresentação em um display virtual e usar essa condição para satisfazer artificialmente o critério de 'app com janela visível', destravando a permissão para lançar activities em background — sem que o usuário tivesse de fato interagido com esse app.

O tipo de falha é um erro de lógica de autorização/controle de acesso (a descrição oficial usa literalmente 'logic error'): a checagem de visibilidade não diferenciava corretamente presentation windows em displays virtuais (que não são tela principal visível ao usuário) de janelas realmente na tela primária. Isso quebra a premissa de segurança do BAL, que depende de 'visibilidade real para o usuário' como proxy de interação legítima.

O atacante controla: qual app malicioso instalar, e a capacidade de criar/gerenciar uma janela TYPE_PRESENTATION em um display virtual sob seu controle — ambas ações possíveis com privilégios de app comum, sem permissão especial documentada como pré-requisito adicional além do vetor PR:L do CVSS.

Como é explorada

O pré-requisito real é ter um app malicioso instalado no dispositivo com privilégios normais (PR:L no CVSS, AV:L — ataque local, executado a partir do próprio dispositivo). Não há interação do usuário necessária depois da instalação: o app abusa da lógica de BAL para lançar activities em background por conta própria, no momento que o atacante escolher.

O resultado prático é escalação de privilégio local: o app consegue lançar telas/activities fora do fluxo normal de interação do usuário, contornando uma proteção projetada especificamente para impedir isso. Isso é usado como primitiva em cadeias maiores — por exemplo, para forçar a exibição de uma activity de outro componente/app com efeito de sequestro de tela, phishing por overlay, ou como passo intermediário dentro de uma cadeia de exploração mais ampla que visa comprometimento total do dispositivo.

O boletim do Android de setembro de 2023 registra explicitamente 'indications that CVE-2023-35674 may be under limited, targeted exploitation' antes da correção — linguagem típica de uso em campanhas de spyware comercial contra alvos específicos, não exploração massiva. A CISA adicionou a falha ao KEV em 13/09/2023 com prazo de correção em 04/10/2023, mas não detalha o autor da exploração nem confirma uso em ransomware ('Known To Be Used in Ransomware Campaigns: Unknown'). Existe PoC pública conforme catalogado, mas os detalhes de reprodução não estão nas fontes oficiais consultadas.

Versões

Afetadas
Android Open Source Project (AOSP) versões 11, 12, 12L e 13, conforme tabela do Android Security Bulletin de setembro de 2023 (referência interna A-264029851).
Corrigidas em
Dispositivos com nível de patch de segurança Android 2023-09-05 ou posterior. A correção foi disponibilizada via commit no AOSP (services/core/java/com/android/server/wm/WindowState.java) e faz parte do lote de patches do boletim de setembro/2023; a aplicação efetiva no dispositivo depende da atualização enviada pelo fabricante.

Como se proteger

A correção é a atualização do dispositivo para o nível de patch de segurança Android 2023-09-05 ou posterior — o próprio boletim afirma que patch levels dessa data ou mais recentes endereçam todas as falhas listadas, incluindo as do lote 2023-09-01 (onde CVE-2023-35674 está catalogada, referência A-264029851). A disponibilidade depende do fabricante do dispositivo (OEM) empacotar e distribuir esse patch level nas suas próprias atualizações — dispositivos fora de suporte ou com atraso de patch do fabricante permanecem expostos indefinidamente.

Não há flag de configuração, permissão a revogar ou controle compensatório documentado que neutralize a falha sem o patch: o problema está na lógica interna do WindowManager do framework, não em um parâmetro exposto ao usuário ou administrador. O Google Play Protect pode ajudar a detectar apps maliciosos que tentem abusar da técnica, mas isso é redução de superfície (menos apps hostis instalados), não uma correção da vulnerabilidade em si — não deve ser tratado como mitigação equivalente ao patch.

Para ambientes que não conseguem atualizar (dispositivos legados, gestão de frota corporativa com patch atrasado), a única redução de risco real é restringir a instalação de apps a fontes controladas e monitoradas, já que a exploração exige um app malicioso já residente no dispositivo — isso não elimina o risco, apenas reduz a chance do vetor inicial (instalação do app atacante) se materializar.

Como detectar

Não há assinatura de rede ou log de servidor a procurar — a exploração ocorre inteiramente no dispositivo, dentro da lógica interna do WindowManager, sem tráfego externo característico. Em telemetria local/EDR móvel, um indicador possível seria um app sem foco/interação recente do usuário criando ou mantendo janelas do tipo TYPE_PRESENTATION associadas a displays virtuais, seguido do lançamento de activities enquanto permanece em segundo plano — mas isso não é um artefato documentado publicamente como IOC confiável, e as fontes consultadas não descrevem um método de detecção validado.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
In onCreate of WindowState.java, there is a possible way to launch a background activity due to a logic error in the code. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Produtos afetados
Google · Android
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.