← voltar
CVE-2016-0984highsob ataqueCWE-416

CVE-2016-0984

83Vexday 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 55%
da publicação à arma7 dias
Publicada no NVD10 de fev.
1ª PoC+7d
CISA KEV+2296d
probabilidade de exploração
55%top 1% das CVEs
exploração observada
simCISA + VulnCheck
2 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-06-15

The impacted products are end-of-life and should be disconnected if still in use.

Resumo

Use-after-free (CWE-416) no método Sound.loadPCMFromByteArray do Adobe Flash Player e Adobe AIR, que permite corromper memória através de um arquivo SWF malicioso. A Adobe classificou a falha como permitindo execução de código arbitrário; está no catálogo KEV da CISA por exploração confirmada, mas o produto é end-of-life desde dezembro de 2020 e a ação recomendada pela CISA é simplesmente desconectar qualquer instalação remanescente.

Detalhamento técnico

A vulnerabilidade está no método loadPCMFromByteArray da classe Sound do ActionScript. Segundo a análise pública do Google Security Research (via Project Zero/exploit-db), o método mantém um ponteiro interno para o buffer de PCM carregado. Ao chamar loadPCMFromByteArray uma segunda vez com um comprimento de array que passa a checagem inicial de tamanho, mas que gera uma exceção ao tentar ler os bytes do array, o ponteiro para o buffer original é liberado (delete) antes que a função consiga reatribuí-lo — e a exceção interrompe a execução antes desse reatribuição ocorrer.

Se o script ActionScript captura essa exceção (try/catch), o objeto Sound permanece utilizável com um ponteiro dangling apontando para memória já liberada. Uma chamada subsequente a Sound.extract() lê diretamente da posição de memória apontada por esse ponteiro obsoleto, o clássico padrão de use-after-free: alocação, liberação prematura por caminho de erro não tratado corretamente, e reuso do ponteiro remanescente.

A descrição oficial da Adobe (e o registro CVE/NVD) generaliza a falha como 'permite execução de código arbitrário via vetores não especificados', o que é consistente com o padrão de uso de UAFs em Flash para sequestro de fluxo de execução via heap grooming e reaproveitamento de memória controlado pelo atacante — mas a Adobe não publicou detalhes técnicos do mecanismo, apenas atribuiu crédito ao pesquisador.

O PoC público disponível (Google Security Research, redistribuído no exploit-db) demonstra apenas a leitura fora de contexto via extract() sobre o ponteiro liberado — o próprio submissor classifica a prova de conceito como 'dangling pointer que pode ser lido, mas não escrito', e o exploit-db categoriza a entrada como DoS (crash), não como RCE funcional. Isso não invalida a avaliação da Adobe de risco de execução de código — heap layout controlado pode viabilizar escrita em cenários mais elaborados — mas indica que o PoC amplamente circulado por si só não é um exploit de execução de código, apenas a demonstração do UAF.

Como é explorada

O vetor de entrega é o padrão para vulnerabilidades de Flash Player da época: um arquivo SWF malicioso embutido em uma página web, anúncio malicioso (malvertising) ou documento que a vítima precisa abrir/visualizar em um navegador ou leitor com o plugin/runtime Flash habilitado. A CVSS oficial (AV:N/AC:L/PR:N/UI:R) reflete isso — requer interação do usuário (abrir a página ou o conteúdo), mas não exige autenticação nem privilégios elevados, e é explorável remotamente pela rede.

Não há pré-condição de configuração não padrão: qualquer instalação do Flash Player nas faixas de versão afetadas, com o navegador ou o runtime AIR ativo, está exposta ao simplesmente renderizar o SWF malicioso. O comprometimento final, segundo a Adobe, é execução de código arbitrário no contexto do processo do plugin/aplicação — controle completo do sistema da vítima na maioria dos cenários de navegador da época.

A CVE está no catálogo KEV da CISA, confirmando exploração ativa registrada historicamente (a entrada foi adicionada em 2022, retroativamente, como parte de um esforço de catalogação de CVEs mais antigas com exploração conhecida). Não há detalhamento público de campanhas específicas atribuídas a essa CVE isoladamente — ela foi corrigida junto com outras 21 CVEs no mesmo boletim (APSB16-04), e integrações forenses da época costumam atribuir exploração a exploit kits que testavam múltiplas vulnerabilidades de Flash em sequência, sem isolar qual delas disparava em cada caso.

Versões

Afetadas
Adobe Flash Player anterior a 18.0.0.329 e as séries 19.x e 20.x anteriores a 20.0.0.306 (Windows e OS X); anterior a 11.2.202.569 (Linux). Adobe AIR anterior a 20.0.0.260. Adobe AIR SDK anterior a 20.0.0.260. Adobe AIR SDK & Compiler anterior a 20.0.0.260.
Corrigidas em
Flash Player 18.0.0.329 (ramo 18.x); Flash Player 20.0.0.306 (Windows/OS X, ramos 19.x/20.x); Flash Player 11.2.202.569 (Linux); Adobe AIR, AIR SDK e AIR SDK & Compiler 20.0.0.260. Backport Red Hat: flash-plugin-11.2.202.569-1 (RHEL 5 e 6 Supplementary).

Como se proteger

A correção oficial é atualizar para Adobe Flash Player 18.0.0.329 (ramo 18.x), 20.0.0.306 (Windows/OS X, ramos 19.x/20.x), 11.2.202.569 (Linux), ou Adobe AIR/AIR SDK/AIR SDK & Compiler 20.0.0.260. Distribuições Linux que empacotavam o plugin (Red Hat, openSUSE, Gentoo) publicaram builds correspondentes — a Red Hat via flash-plugin-11.2.202.569 para RHEL 5 e 6 Supplementary; a Gentoo posteriormente indicou como não afetada a versão 11.2.202.577, que já engloba correções de boletins subsequentes.

Não existe paliativo de configuração real: a Gentoo classificou explicitamente como 'no known workaround at this time' no advisory. A única mitigação efetiva sem atualizar é desabilitar o plugin Flash no navegador ou bloquear a execução de conteúdo SWF (via política de navegador ou proxy/filtro de conteúdo).

Na prática, em 2024+, a mitigação correta é remover o Adobe Flash Player e Adobe AIR do ambiente: o produto atingiu fim de vida em 31 de dezembro de 2020, não recebe mais patches, e a própria CISA recomenda no KEV catalog desconectar qualquer sistema que ainda o utilize. Não confie em detecção de sandbox de navegador ou EMET/mitigações genéricas de exploração como substituto — essas camadas reduzem mas não eliminam o risco de UAFs de Flash, e o vetor real de exposição hoje é a mera presença do runtime instalado, não apenas o uso ativo.

Como detectar

Não há assinatura de rede ou de log amplamente divulgada e confiável especificamente para essa CVE — a exploração ocorre via um arquivo SWF malicioso servido por HTTP/HTTPS ou embutido em documento, indistinguível de outras UAFs de Flash da mesma leva (APSB16-04 corrigiu 22 CVEs no mesmo boletim). Em nível de host, os sinais gerais aplicáveis são crash inesperado do processo do plugin Flash (representado por processos como plugin-container, NPSWF32 ou dllhost dependendo do navegador) seguido de execução de processo filho anômalo, e logs de proxy/EDR mostrando download de arquivos .swf de origens não usuais antes do crash.

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.
Use-after-free vulnerability in Adobe Flash Player before 18.0.0.329 and 19.x and 20.x before 20.0.0.306 on Windows and OS X and before 11.2.202.569 on Linux, Adobe AIR before 20.0.0.260, Adobe AIR SDK before 20.0.0.260, and Adobe AIR SDK & Compiler before 20.0.0.260 allows attackers to execute arbitrary code via unspecified vectors, a different vulnerability than CVE-2016-0973, CVE-2016-0974, CVE-2016-0975, CVE-2016-0982, and CVE-2016-0983.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.