CVE-2012-0158
Corrige ahora. Ella está bajo explotación confirmada por CISA, tiene exploit funcional público y 9 grupo(s) de amenaza la utilizan.
Grupos conocidos por explotar esta vulnerabilidad (atribución MITRE ATT&CK).
Apply updates per vendor instructions.
Resumen
Falha de corrupção de memória nos controles ActiveX ListView, ListView2, TreeView e TreeView2 do MSCOMCTL.OCX, componente dos Common Controls do Windows usado por praticamente toda a suíte Office 2003–2010, além de SQL Server, BizTalk, Commerce Server, Visual FoxPro e Visual Basic 6.0 Runtime. Importa porque o vetor mais usado — um documento do Office ou .rtf malicioso — não exige nenhuma configuração exótica: basta o usuário abrir o arquivo. Foi explorada in the wild já em abril de 2012, antes mesmo da correção, e continuou sendo uma das armas favoritas de campanhas de phishing com anexo malicioso por anos depois disso, o que a mantém no catálogo KEV da CISA até hoje.
Detalle técnico
A descrição oficial da Microsoft fala em corrupção de 'system state' desencadeada por conteúdo malicioso processado pelos controles ListView/ListView2/TreeView/TreeView2 dentro do MSCOMCTL.OCX. Na prática, o consenso entre pesquisadores que analisaram amostras exploradas em 2012 é que se trata de corrupção de memória por manipulação de estruturas/arrays com bounds mal validados quando o controle ActiveX processa propriedades embutidas em um objeto OLE — o atacante controla o conteúdo desse array embutido no arquivo, o que permite sobrescrever memória e desviar o fluxo de execução.
O CISA classifica a entrada no KEV sob CWE-94 (geração/controle inadequado de código), embora análises técnicas independentes da época a descrevam de forma mais consistente com um estouro de buffer/corrupção de memória clássico — a divergência entre a categorização formal e a mecânica real observada é algo a notar, já que CWE-94 sozinho não captura bem o comportamento.
O ponto crítico de superfície de ataque é que MSCOMCTL.OCX é carregado por qualquer aplicação Office que renderize um documento contendo esses controles, e o parser aceita o objeto OLE malformado sem validação suficiente de tamanho/estrutura antes de processá-lo — não há necessidade de macros, JavaScript ou qualquer script habilitado.
Cómo se explota
O vetor documentado pela Microsoft é tríplice: um site malicioso que hospede conteúdo especialmente criado, um documento do Office malicioso, ou um arquivo .rtf malicioso — os três acionando o mesmo bug de parsing no controle ActiveX. Na prática, a exploração amplamente observada e reportada foi via .doc/.rtf anexado a e-mail: o atacante não consegue forçar a visita a um site nem a abertura do anexo, mas convence a vítima via engenharia social (phishing dirigido) a abrir o arquivo. Não há necessidade de autenticação prévia, de macro habilitada ou de qualquer configuração não padrão no Office — o simples ato de abrir o documento com a versão vulnerável do MSCOMCTL.OCX já é suficiente.
A exploração resulta em execução de código arbitrário no contexto do usuário que abriu o arquivo, o que na maioria dos ambientes domésticos ou corporativos com o usuário logado como administrador local significa comprometimento total da máquina. Existe módulo público no Metasploit e PoC disponíveis, o que reduziu a barreira de entrada — não é preciso reverse engineering para reproduzir o ataque, apenas gerar o arquivo malicioso com as ferramentas já existentes.
A CISA confirma exploração ativa in the wild desde abril de 2012, e a vulnerabilidade permaneceu como um dos exploits de documento mais reutilizados em campanhas de spear-phishing por vários anos após a correção, justamente pela combinação de vetor simples (anexo de e-mail), ausência de necessidade de interação avançada do usuário além de 'abrir o arquivo', e grande parque de instalações não atualizadas de Office 2003–2010.
Versiones
Cómo protegerse
A correção da Microsoft, distribuída pelo boletim MS12-027, funciona desabilitando a versão vulnerável dos Windows common controls e substituindo-a por uma nova versão sem a falha — não é um simples patch de função isolada, é troca do componente. Os KBs relevantes por produto são: KB2597112 (Office 2003 SP3, Office 2003 Web Components SP3, SQL Server 2005 SP4), KB2598041 (Office 2007 SP2/SP3, SQL Server 2008), KB2598039 (Office 2010 32-bit Gold/SP1), KB983808/KB983809 (SQL Server 2000 SP4) e KB983807 (SQL Server 2000 Analysis Services SP4). Aplicar a atualização correspondente à versão específica do produto é o único remédio definitivo.
Como paliativo quando a atualização não pode ser aplicada imediatamente: reduzir a superfície de risco tratando anexos .doc/.docx/.rtf/.ppt/.xls de origem externa como não confiáveis (bloqueio ou sandboxing no gateway de e-mail), e evitar abrir documentos do Office ou .rtf recebidos por canais não verificados — mas isso é controle compensatório de processo, não elimina a vulnerabilidade em si. Rodar o usuário sem privilégios administrativos locais limita o impacto pós-exploração, mas não impede a execução do código inicial.
O que não funciona como mitigação: atualizar apenas o Office sem considerar que outros produtos que compartilham o MSCOMCTL.OCX (SQL Server, BizTalk, Commerce Server, Visual FoxPro, Visual Basic 6.0 Runtime) também precisam do patch correspondente — o componente é compartilhado entre produtos com ciclos de suporte e KBs diferentes, então corrigir só o Office deixa outras aplicações no mesmo host expostas.
Cómo detectar
Não há assinatura de rede confiável, já que a exploração ocorre localmente no parsing do documento/objeto OLE dentro do processo do Office ou aplicação afetada — o tráfego de entrega (e-mail com anexo, ou download de um site) é indistinguível de tráfego legítimo sem inspeção de conteúdo do próprio arquivo. Em nível de host, EDR e antivírus com assinaturas para exploits de MSCOMCTL.OCX/CVE-2012-0158 (a maioria dos motores atualizados desde 2012 detecta os PoCs e o módulo Metasploit conhecidos) e regras de e-mail gateway que inspecionam estruturas OLE malformadas em .doc/.rtf são os sinais mais práticos a monitorar; dado o tempo decorrido desde a divulgação e a ampla disponibilidade de PoC, qualquer tentativa de exploração hoje tende a usar variantes já conhecidas e detectáveis, não zero-days do mesmo bug.