CVE-2008-0015
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
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
Estouro de buffer baseado em pilha na função CComVariant::ReadFromStream do ATL (Active Template Library), explorado através do controle ActiveX MPEG2TuneRequest dentro de msvidctl.dll (componente de vídeo do DirectShow no Windows). A falha foi explorada como 0-day in the wild em julho de 2009, antes de existir patch, e permite execução remota de código bastando a vítima visualizar uma página HTML maliciosa no Internet Explorer. O detalhe crítico que a manchete não deixa claro: o Microsoft classificou o impacto real como Crítico apenas em Windows XP SP2/SP3 e Moderado em Server 2003 SP2 — Windows 2000 SP4, Vista e Server 2008, listados na descrição do CVE, foram marcados pelo próprio fornecedor como 'None' (não afetados na prática pelo vetor de exploração via IE).
Detalhamento técnico
A vulnerabilidade está em CComVariant::ReadFromStream, parte do ATL usado pelo Windows para implementar controles ActiveX. O msvidctl.dll expõe cerca de 45 CLSIDs relacionados a streaming de vídeo (DirectShow), entre eles o MPEG2TuneRequest, marcados como 'Safe for Scripting' e 'Safe for Initialization' — o que permite que sejam instanciados por páginas web abertas no Internet Explorer, mesmo que esse nunca tenha sido o uso pretendido do controle.
A função lê dados de um stream (fornecido pelo atacante via a página HTML) sem validar corretamente o tamanho antes de copiá-los para um buffer alocado na pilha (CWE-121, stack-based buffer overflow). O atacante controla o conteúdo e o tamanho dos dados lidos pelo stream, e o overflow corrompe a pilha ao ponto de sobrescrever o Structured Exception Handler (SEH), permitindo desvio do fluxo de execução do processo.
A CVE recebeu número de 2008 mas só foi publicamente divulgada em 2009, atribuída à mesma família de falhas do ATL corrigidas em conjunto com CVE-2008-0015 correlatas ao boletim MS09-035 — a Microsoft explicou publicamente por que reaproveitou esse identificador antigo ao lançar MS09-037, já que a raiz do problema (ATL) era compartilhada entre vários controles ActiveX vulneráveis divulgados naquele período.
Como é explorada
O vetor é uma página HTML maliciosa (web, e-mail HTML ou anexo) que instancia o CLSID vulnerável do msvidctl.dll dentro do Internet Explorer e fornece dados manipulados que acionam o parsing defeituoso em ReadFromStream. Não há necessidade de autenticação nem de configuração não padrão — o pré-requisito real é que a vítima abra o conteúdo malicioso com um navegador que instancia ActiveX (Internet Explorer) e que o kill bit do controle não esteja setado. Isso torna o vetor de ataque amplo em ambientes que ainda usavam IE como navegador padrão em 2009.
A falha foi explorada ativamente em julho de 2009, antes da liberação de qualquer patch — CVE está no catálogo KEV da CISA por exploração confirmada, existe módulo Metasploit público e PoC disponível, o que reduz a barreira técnica para reprodução do ataque hoje em sistemas legados não corrigidos. O resultado final é execução de código arbitrário com os privilégios do usuário que abriu a página — contas com privilégios reduzidos limitam, mas não eliminam, o impacto.
O SANS Internet Storm Center e outros pesquisadores documentaram a atividade de exploração no período, e a Microsoft confirmou no próprio boletim MS09-032 que a vulnerabilidade estava sendo 'currently exploited' antes da correção oficial.
Versões
Como se proteger
A correção oficial veio pelo boletim MS09-032 (KB973346, 14/07/2009), uma atualização cumulativa de kill bits para ActiveX. Ela não corrige o código vulnerável em msvidctl.dll — apenas define o kill bit para que os controles afetados não possam mais ser instanciados dentro do Internet Explorer, eliminando o vetor de exploração via navegador sem alterar a DLL em si.
Como paliativo prévio ao patch, a Microsoft publicou o Security Advisory 972890 com uma ferramenta Fix it que aplica manualmente os kill bits nos ~45 CLSIDs expostos por msvidctl.dll. Quem já aplicou esse workaround (manual ou via Fix it) não precisa instalar o MS09-032 separadamente, embora a instalação não cause conflito. Outra mitigação compensatória é desabilitar ActiveX na zona Internet do IE, o que bloqueia esse e outros vetores baseados em ActiveX, ao custo de quebrar funcionalidades que dependem de controles legítimos.
Importante: nem todas as versões listadas na descrição do CVE têm impacto real segundo o fornecedor — Windows 2000 SP4, Vista e Server 2008 foram classificados como 'None' de severidade no MS09-032, e Server Core do Server 2008 nunca foi afetado. Aplicar apenas patches genéricos de 'segurança do Windows' sem confirmar a instalação específica do KB973346 (ou a aplicação do kill bit via advisory 972890) não mitiga a falha.
Como detectar
Indicadores incluem tentativas de carregamento, via páginas HTML ou objetos embed/object no navegador, dos CLSIDs expostos por msvidctl.dll — em especial o associado ao MPEG2TuneRequest — fora do contexto normal de aplicações de mídia. A existência de módulo Metasploit público e PoC facilita a geração de assinaturas de IDS/IPS para o padrão de exploração conhecido, e o SANS ISC documentou atividade de exploração ativa em 2009.
As fontes consultadas não trazem uma assinatura de tráfego ou padrão de log oficial e confiável publicado pelo fornecedor para detecção retroativa — quem precisa investigar exposição histórica depende de logs de proxy/web mostrando páginas que tentaram instanciar os CLSIDs vulneráveis do msvidctl.dll, ou de EDR que capture o carregamento anômalo da DLL pelo processo do Internet Explorer.