CVE-2015-2545
Prioritize patching. It under exploitation confirmed by CISA.
Apply updates per vendor instructions.
Summary
Falha de validação de entrada (CWE-20) no processamento de imagens EPS (Encapsulated PostScript) embutidas em documentos do Microsoft Office 2007 SP3, 2010 SP2, 2013 SP1 e 2013 RT SP1, permitindo execução remota de código no contexto do usuário atual ao abrir um arquivo malicioso. Importa porque foi usada em campanhas reais especificamente desenhadas para contornar o EMET (Enhanced Mitigation Experience Toolkit) da própria Microsoft, e está no catálogo KEV da CISA — evidência de exploração continuada muito depois do patch de 2015, tipicamente contra ambientes que nunca aplicaram a atualização.
Technical detail
A vulnerabilidade está no parser de EPS que o Office usa para renderizar imagens PostScript embutidas em documentos (Word, Excel, PowerPoint). O EPS é, na prática, uma linguagem de programação completa (PostScript), e o Office interpreta o conteúdo do arquivo de imagem em vez de apenas rasterizá-lo com validação estrita. Isso dá ao atacante um canal para corromper memória durante o parsing, o que resulta em corrupção de estruturas internas exploráveis para controle de fluxo.
A análise da Morphisec (baseada em amostra real capturada por pesquisadores independentes) descreve o exploit operando quase inteiramente dentro do próprio código PostScript malformado: o script identifica se o processo é 32 ou 64 bits, corrupta um vetor de memória usando a própria vulnerabilidade, faz heap spray alocando ~400 blocos de tamanho fixo, e então percorre a Import Address Table (IAT) de módulos carregados (como EPSIMP32.dll) para localizar endereços de funções da API do Windows sem depender de endereços fixos — contornando ASLR na prática.
O ponto tecnicamente mais relevante é como o exploit contorna o EMET 5.5: em vez de chamar funções de API de alto nível (que o EMET monitora e pode ter hookeadas), o código localiza o número de syscall correspondente à função desejada (ex.: VirtualProtect) inspecionando o primeiro opcode da função — e se encontra um hook, avança para a próxima função candidata até achar uma não-hookeada, compensando a contagem de chamadas puladas. Isso permite invocar a syscall diretamente via kernel, ignorando por completo os hooks de usermode que o EMET usa para detectar ROP e alocação de memória executável.
How it’s exploited
O vetor é um documento do Office (o caso documentado é um arquivo Word) contendo uma imagem EPS malformada embutida. A exploração exige que a vítima abra o arquivo — não há execução automática sem interação do usuário (compatível com UI:R do vetor CVSS) e não é necessária autenticação prévia nem acesso de rede especial; a entrega típica é via e-mail (phishing) ou download. O único pré-requisito técnico real é rodar uma das versões afetadas do Office sem o patch de setembro/novembro de 2015 instalado.
Uma vez aberto, o processo WinWord (ou aplicação Office equivalente) processa o EPS, o ROP construído dentro do próprio PostScript localiza gadgets e funções de API via IAT walking, ganha capacidade de escrita/execução de memória via chamada direta de syscall (contornando hooks de EMET), e injeta shellcode que carrega uma DLL adicional (identificada como plugin.dll na amostra analisada) contendo um exploit de escalonamento de privilégios separado. O resultado final documentado é execução de código no contexto do usuário, seguida de tentativa de elevação de privilégios.
Há exploração confirmada em campanhas reais — a amostra analisada pela Morphisec e por outro pesquisador (@r41p41) foi capturada em circulação, e a CVE está no catálogo KEV da CISA desde março de 2022, com prazo de correção definido para 24/03/2022. Isso indica reuso oportunista do exploit contra alvos ainda não corrigidos, sete anos após a divulgação original — não uma nova onda de exploração zero-day.
Versions
How to protect
A correção oficial é o boletim MS15-099 (KB3089664), publicado em 8 de setembro de 2015 e atualizado em 10 de novembro de 2015. As atualizações específicas por produto, segundo a Microsoft, são KB3085620 para Office 2007 SP3, KB3085560 para Office 2010 SP2 (edições 32 e 64 bits) e KB3085572 para Office 2013 SP1 (32 e 64 bits) e Office 2013 RT SP1. Vale notar que a Morphisec, em sua análise, referiu-se ao patch como disponível 'desde novembro de 2015' — há uma diferença entre a data de publicação do boletim (setembro) e a atualização de novembro registrada no próprio MS15-099; qualquer sistema sem nenhuma dessas atualizações aplicadas permanece vulnerável.
O mito a derrubar: EMET não é mitigação eficaz para esta falha. A pesquisa da Morphisec demonstrou explicitamente que o exploit real em circulação foi construído para contornar o EMET 5.5 (a versão mais recente na época), usando chamadas de syscall diretas em vez de APIs hookeadas. Depender de EMET como controle compensatório para não aplicar o patch é uma falsa sensação de segurança comprovada pela própria pesquisa.
Não há, nas fontes consultadas, um workaround oficial documentado (como desabilitar renderização de EPS via registro) específico para esta CVE — a única mitigação confirmada é a aplicação do patch do MS15-099. Se a atualização não puder ser aplicada imediatamente, a alternativa realista é restringir o recebimento/abertura de documentos Office de fontes não confiáveis até a correção, já que não há controle de configuração built-in comprovado nas fontes para desativar apenas o parser de EPS nessas versões.
How to detect
A Morphisec publicou o hash SHA-256 de uma amostra real analisada (23368088b183a8b7dc59f33413a760daa06fa0e027a1996677c97db2aeec22b8), útil como indicador pontual mas de baixo valor contra variantes reempacotadas. Sinais comportamentais a procurar: documentos do Office com objetos EPS embutidos anexados a e-mails, processos WINWORD.EXE/EXCEL.EXE gerando atividade de heap spray ou carregando módulos incomuns como uma DLL chamada 'plugin.dll' pouco após a abertura de um arquivo, e quedas de proteção do EMET sem motivo aparente em ambientes que o utilizavam como camada de defesa. Não há assinatura de rede ou padrão de log confiável documentado pelas fontes consultadas — a detecção depende essencialmente de EDR com visibilidade de execução de memória/ROP ou de análise estática do conteúdo EPS dentro do documento.