CVE-2012-1854
Priorize a correção. Ela está sob exploração confirmada pelo CISA.
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Resumo
Falha de untrusted search path (DLL hijacking) na runtime do Visual Basic for Applications (VBE6.dll), usada pelo Microsoft Office 2003/2007/2010 e por qualquer aplicação de terceiros que embarque VBA. Se um usuário abre um arquivo Office (documentado com .docx) que está na mesma pasta de uma DLL maliciosa com nome adequado, essa DLL é carregada e executa código com os privilégios do usuário. Foi explorada in the wild em julho de 2012, antes da correção, e está no catálogo KEV da CISA.
Detalhamento técnico
A vulnerabilidade é CWE-426 (Untrusted Search Path). Quando o Office carrega o componente VBA (vbe6.dll) para processar macros ou recursos ligados a VBA em um documento, a rotina de carregamento de bibliotecas dependia da ordem de busca padrão do Windows, que inclui o diretório de trabalho atual (o diretório onde o arquivo do Office foi aberto) antes de diretórios de sistema confiáveis. Isso permite que uma DLL homônima colocada na mesma pasta do documento seja carregada no lugar da DLL legítima do sistema.
Como é explorada
O vetor exige interação do usuário: a vítima precisa abrir um arquivo Office (o exemplo documentado é um .docx) que esteja na mesma pasta de uma DLL forjada com o nome que a rotina de VBA procura. Isso funciona bem em cenários de distribuição via compartilhamento de rede, pendrive ou arquivo compactado (zip) que contenha o documento e a DLL maliciosa juntos — a vítima extrai/abre a pasta inteira sem perceber a DLL adicional. Não há exploração remota direta via rede; o CVSS reflete Attack Vector Local com interação do usuário obrigatória (AC:L/PR:N/UI:R). O impacto após exploração é execução de código arbitrário com os privilégios do usuário que abriu o documento — se a conta tiver direitos administrativos, o controle é total sobre a máquina. A Microsoft confirma exploração ativa antes do patch (julho de 2012), o que justifica a entrada no catálogo KEV da CISA.
Versões
Como se proteger
A correção definitiva é aplicar as atualizações do boletim MS12-046: KB2687626 (ou KB2598361, se já instalado, para Office 2003 SP3), KB2596744 (Office 2007 SP2 e SP3), KB2598243/KB2553447 (Office 2010 32-bit e 64-bit, Gold e SP1) e KB2688865 para a runtime standalone do VBA (Vbe6.dll) usada por aplicações de terceiros. Para o Visual Basic for Applications SDK (versões 6.3, 6.4 e 6.5) distribuído pela Summit Software, é necessário obter a versão corrigida diretamente do fornecedor do SDK — a Microsoft não distribui esse componente. Como paliativo quando o patch não pode ser aplicado imediatamente, a orientação geral da Microsoft para esta classe de vulnerabilidade (CWE-426) é evitar abrir documentos Office a partir de pastas de rede, compartilhamentos remotos ou mídias removíveis não confiáveis, e restringir o carregamento de DLL da pasta atual via políticas de sistema quando aplicável — isso reduz a superfície mas não elimina o risco, já que qualquer pasta local controlada pelo atacante ainda serve como vetor. Manter o usuário com privilégios administrativos elevados aumenta severamente o impacto; operar com conta de baixo privilégio não corrige a falha, mas limita o que o código malicioso pode fazer.
Como detectar
Monitoramento de carregamento de módulos (por exemplo, Sysmon Event ID 7 - Image Loaded) que identifique vbe6.dll ou outras DLLs relacionadas ao VBA sendo carregadas a partir de caminhos fora do diretório de instalação padrão do Office (System32/Program Files) — especialmente diretórios de usuário, compartilhamentos de rede, pastas temporárias de extração de zip ou mídias removíveis — é o sinal mais confiável de tentativa de exploração. Também vale procurar, em auditorias de disco ou logs de antivírus, arquivos DLL com nomes de componentes do sistema posicionados na mesma pasta de documentos .doc/.docx recebidos por e-mail ou download; não há assinatura de rede ou payload fixo documentado, já que o vetor depende inteiramente do nome e posição do arquivo, não de um exploit de rede padronizado.