← volver
CVE-2013-1675mediumbajo ataqueCWE-665

CVE-2013-1675

43Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA.

ssvc Attendcvss 6.5epss 6.7%
de la publicación al arma
Publicada en NVD16 may
CISA KEV+3213d
probabilidad de explotación
6.7%top 7% de las CVE
explotación observada
CISA + VulnCheck
Acción exigida por CISAplazo federal: 2022-03-24

Apply updates per vendor instructions.

Resumen

Falha de divulgação de informação no Firefox, Firefox ESR 17.x e Thunderbird: os campos mPreviousScale e mNewScale do objeto nsDOMSVGZoomEvent não são inicializados antes de serem expostos ao JavaScript da página, permitindo que um site malicioso leia lixo de memória do processo através das propriedades do evento SVGZoomEvents. Não há execução de código nem corrupção de memória — o impacto é estritamente leitura de memória não inicializada, útil sobretudo como primitiva de reconhecimento (leak de ponteiros, bypass de ASLR) para encadear com outra falha de corrupção. Está no catálogo KEV da CISA, mas isso reflete evidência de exploração histórica, não uma campanha ativa documentada nas fontes disponíveis.

Detalle técnico

O bug (Mozilla Bugzilla #866825) está no componente DOM: Events do Gecko. A classe nsDOMSVGZoomEvent representa o evento SVGZoomEvents, disparado (ou instanciável via document.createEvent) em documentos SVG com zoom/pan. Os membros mPreviousScale e mNewScale, que armazenam os fatores de escala anterior e novo expostos via os atributos previousScale/newScale, nunca recebiam um valor default no construtor do objeto. Quando o script da página lia essas propriedades, o motor retornava o conteúdo bruto da posição de memória alocada para o objeto, sem qualquer inicialização — um caso clássico de uso de memória não inicializada (a Mozilla marcou o bug com a tag csectype-uninitialized; a CISA classifica como CWE-119, overread de buffer).

A regressão foi rastreada até o bug 302103, que introduziu essas variáveis em 2005-08-25 — ou seja, o código vulnerável existia há anos antes de ser identificado; só foi corrigido quando revisado em conjunto com outro bug relacionado (bug 866679). O atacante não precisa controlar nenhum valor de entrada específico: o simples ato de instanciar o evento e ler os atributos já expõe o conteúdo de memória, cujo valor varia a cada execução dependendo do estado do heap.

O reporter do bug (Ms2ger) anexou um teste que demonstra diretamente que o JavaScript recebe 'garbage' (lixo) ao ler esses campos, sem necessidade de disparar um zoom real na página — a criação programática do evento via API DOM já é suficiente para acionar a leitura da estrutura não inicializada.

Cómo se explota

O vetor é 100% client-side, via página web maliciosa carregada no navegador (ou renderizada pelo Thunderbird) — não exige autenticação nem configuração não padrão. O atacante hospeda uma página que cria um objeto SVGZoomEvents via script e lê as propriedades previousScale/newScale; o retorno é interpretado como número de ponto flutuante, mas na prática carrega bytes crus de memória do processo. Isso não gera crash nem controle de fluxo por si só; o valor obtido serve como leak de informação — endereços de ponteiros, offsets de heap, dados residuais de outras estruturas — que um atacante mais sofisticado usa para calibrar outro exploit (ex.: contornar ASLR antes de disparar uma vulnerabilidade de corrupção de memória separada).

A complexidade prática é baixa: qualquer JavaScript capaz de manipular o DOM SVG consegue acionar a leitura repetidamente e coletar amostras de memória. O vetor de ataque via e-mail no Thunderbird é limitado pelo fato de que, por padrão, JavaScript é desabilitado na renderização de mensagens HTML — o Red Hat aponta explicitamente que a falha só é explorável em Thunderbird por caminhos alternativos, como conteúdo remoto completo de feeds RSS renderizado com JS habilitado, cenário pouco comum.

A presença no catálogo KEV da CISA (adicionado em 2022-03-03, com prazo de correção fixado em 2022-03-24) indica evidência de exploração no mundo real, mas nenhuma das fontes consultadas detalha campanha, ator ou contexto específico dessa exploração — a inclusão tardia (quase 9 anos após a publicação da CVE) sugere reavaliação retrospectiva de evidências, não um incidente recente.

Versiones

Afectadas
Mozilla Firefox anterior à 21.0; Firefox ESR 17.x anterior à 17.0.6; Thunderbird anterior à 17.0.6; Thunderbird ESR 17.x anterior à 17.0.6. O código vulnerável (variáveis não inicializadas) existe desde a introdução da classe em 2005 (bug regressor 302103), mas as correções e backports formais cobrem apenas os ramos then-suportados: Firefox 21/22/23, Firefox ESR 17, e B2G 18 (branch b2g18-v1.0.0 foi marcado wontfix; b2g18-v1.0.1 permaneceu afetado segundo o Bugzilla).
Corregidas en
Firefox 21.0; Firefox ESR 17.0.6; Thunderbird 17.0.6; Thunderbird ESR 17.0.6. Pacotes de distribuição com backport: Red Hat Enterprise Linux 5/6 — firefox-17.0.6, xulrunner-17.0.6, thunderbird-17.0.6 (RHSA-2013:0820 e RHSA-2013:0821); openSUSE também publicou atualizações equivalentes em maio/junho de 2013.

Cómo protegerse

A correção definitiva é atualizar para Firefox 21.0 ou posterior, Firefox ESR 17.0.6 ou posterior, Thunderbird 17.0.6 ou posterior, ou Thunderbird ESR 17.0.6 ou posterior — o patch simplesmente inicializa os campos mPreviousScale/mNewScale no construtor do evento. Distribuições Linux que ainda mantêm builds antigas (RHEL 5/6 com firefox/xulrunner/thunderbird, openSUSE) receberam backports equivalentes contendo essa correção junto com outras falhas do mesmo ciclo (MFSA 2013-41 a 2013-48).

Como esses produtos estão fora de suporte há mais de uma década, a mitigação real hoje é não usar builds dessas versões — não existe flag ou pref documentada nas fontes para desabilitar seletivamente o SVGZoomEvent. O único paliativo genérico é desabilitar JavaScript inteiramente no navegador, o que quebra a usabilidade da maioria dos sites e não é uma mitigação seletiva para esta falha específica; não deve ser tratado como solução, apenas como redução de superfície em ambiente isolado/legado que não pode ser atualizado.

Para Thunderbird, o risco é naturalmente reduzido porque JavaScript vem desabilitado por padrão na renderização de e-mails HTML — isso não é uma mitigação aplicada pelo administrador, é o comportamento padrão do produto, e não cobre cenários como visualização de conteúdo remoto de feeds com JS habilitado.

Cómo detectar

Não há assinatura de rede ou indicador de comprometimento confiável publicado nas fontes consultadas — o ataque ocorre inteiramente no lado do cliente, dentro do motor de renderização, sem tráfego anômalo identificável a nível de rede. Em nível de código-fonte de página, um sinal a procurar é JavaScript que instancia eventos via document.createEvent('SVGZoomEvents') e em seguida lê programaticamente os atributos previousScale/newScale, especialmente combinado com lógica de coleta/serialização desses valores — mas esse padrão também pode aparecer em código legítimo de manipulação de zoom SVG, gerando falsos positivos; nenhuma fonte apresenta uma assinatura validada para diferenciar uso benigno de exploração.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
Mozilla Firefox before 21.0, Firefox ESR 17.x before 17.0.6, Thunderbird before 17.0.6, and Thunderbird ESR 17.x before 17.0.6 do not properly initialize data structures for the nsDOMSVGZoomEvent::mPreviousScale and nsDOMSVGZoomEvent::mNewScale functions, which allows remote attackers to obtain sensitive information from process memory via a crafted web site.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Productos afectados
n/a · n/a