← back
CVE-2020-0938highunder attackCWE-787

CVE-2020-0938

83Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 7.8epss 69%
from disclosure to weapon
Published on NVDApr 15
CISA KEV+567d
exploitation probability
69%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2022-05-03

Apply updates per vendor instructions.

Summary

Falha de escrita fora dos limites (CWE-787) na Windows Adobe Type Manager Library (atmfd.dll), o componente que renderiza fontes PostScript Type 1 multi-master. Um arquivo de fonte malformado processado pelo Windows Explorer ou por qualquer aplicação que use a lib para preview de fontes pode corromper memória e levar à execução de código. É especialmente grave porque a Microsoft confirmou exploração ativa em campo antes mesmo de existir patch, e a falha entrou no catálogo KEV da CISA.

Technical detail

O bug está no parser de fontes Adobe Type 1 (PostScript) dentro do Adobe Type Manager Font Driver (atmfd.dll), carregado pelo kernel do Windows para renderizar fontes em várias superfícies — Explorer com preview de arquivos, WebDAV, documentos que embutem fontes, etc. O parser trata incorretamente uma fonte multi-master malformada, gerando uma escrita fora dos limites de um buffer (CWE-787). O atacante controla o conteúdo do arquivo de fonte: os campos que definem o número de masters, offsets e tabelas do formato Type 1 podem ser manipulados para forçar o parser a escrever além do buffer alocado.

Como o atmfd.dll roda historicamente em contexto de kernel em versões pré-Windows 10 (o driver de fontes é carregado no kernel-mode em sistemas mais antigos), uma corrupção de memória ali tem potencial de execução de código com privilégios de kernel — daí a gravidade em "todos os sistemas exceto Windows 10". No Windows 10, a Microsoft já havia movido parte da renderização de fontes para um processo de usuário isolado em AppContainer (sandbox), então o mesmo bug ali resulta em execução de código dentro dessa sandbox, com privilégios e capacidades limitadas — não em comprometimento direto do sistema.

Esta CVE é irmã da CVE-2020-1020: ambas cobrem a mesma classe de falha no mesmo parser, reportadas e corrigidas juntas pela Microsoft, mas registradas como CVEs distintas por afetarem trechos de código ou condições de trigger diferentes dentro da mesma biblioteca.

How it’s exploited

O vetor mais citado é engano do usuário: basta que a vítima visualize o arquivo de fonte malicioso — por exemplo, abrindo o Explorer em uma pasta que contém o arquivo com o painel de visualização (preview pane) habilitado, ou abrindo um documento que embuta a fonte. Isso explica o UI:R (interação do usuário) no vetor CVSS e o AV:L (ataque local) — não é uma falha explorável remotamente sem que a vítima realize alguma ação, ainda que essa ação seja trivial (navegar até uma pasta, receber um documento por e-mail ou baixar um arquivo compartilhado via rede/WebDAV).

A Microsoft reportou, no advisory original que precedeu o patch, que havia exploração ativa e limitada e direcionada dessa classe de falha antes de existir correção — o que motivou a entrada no catálogo KEV da CISA (adicionada em novembro de 2021, retroativamente, como parte do esforço de catalogar vulnerabilidades já exploradas). Existe PoC pública documentada, incluindo um caso relacionado ao parser de fontes da Apple (CoreText/libFontParser) que ilustra a classe de corrupção em parsers Type 1 similares, mas não confundir isso com um exploit direto para o Windows — são implementações de parser distintas, ainda que a família de bug (parsing de fontes PostScript legado) seja a mesma.

O resultado final da exploração bem-sucedida depende da versão: em sistemas pré-Windows 10, execução de código no contexto do driver de fonte (potencialmente kernel); em Windows 10, execução restrita dentro do AppContainer sandbox, o que limita drasticamente o dano sem uma escalada de privilégios adicional.

Versions

Affected
Segundo o registro CVE: Microsoft Windows 10 versão 1903 (32-bit, ARM64, x64), Windows 10 versão 1909 (32-bit, ARM64, x64) e Microsoft Windows Server. O advisory original da Microsoft (ADV200006), que trata da mesma falha de parsing de fontes Adobe Type 1 na Windows Adobe Type Manager Library, cobriu um leque mais amplo de versões suportadas na época (incluindo Windows 7 SP1, Windows 8.1 e outras edições de Windows Server) — consulte o advisory da Microsoft para confirmar a lista completa e o status por build específica.
Fixed in
Corrigida pelas atualizações de segurança da Microsoft do ciclo de abril de 2020 para as versões de Windows e Windows Server então suportadas. Não apuramos aqui os números exatos de KB por versão; verificar no Microsoft Update Catalog / MSRC o KB vinculado a CVE-2020-0938 para a build específica em uso antes de considerar o sistema corrigido.

How to protect

A correção definitiva veio via atualização de segurança da Microsoft no ciclo de patches de abril de 2020, cobrindo as branches então suportadas do Windows (Windows 7 SP1, Windows 8.1, Windows 10 nas versões listadas — 1903 e 1909 — e as edições correspondentes de Windows Server). Não temos aqui o número exato de KB por versão; a orientação segura é aplicar as atualizações cumulativas de abril/2020 (ou posteriores) do Windows Update / WSUS para o SO específico, conferindo no Microsoft Update Catalog o KB associado a essa CVE para a build exata em uso.

Antes do patch existir, a Microsoft publicou paliativos no advisório original (ADV200006) para reduzir a superfície de ataque enquanto a correção não estava disponível: desabilitar o painel de visualização e o painel de detalhes no Explorer (que disparam a renderização automática de fontes ao navegar em pastas), e desabilitar o serviço WebClient (para bloquear o vetor via WebDAV). Essas mitigações não eliminam a vulnerabilidade — apenas removem os gatilhos automáticos mais comuns; um usuário que abra manualmente o arquivo de fonte ou um documento que a incorpore ainda pode acionar a falha.

Sistemas Windows 7 e 8.1 fora de suporte estendido (sem ESU) não recebem mais patches para essa CVE — nesses casos o único controle real é isolamento de rede, bloqueio de execução/preview de arquivos de fonte não confiáveis e desativação dos vetores citados acima. Não considerar a sandbox do Windows 10 como mitigação suficiente por si só: ela reduz o impacto, mas não impede a exploração inicial nem uma eventual escalada.

How to detect

Não há assinatura de rede confiável, já que a exploração ocorre no processamento local de um arquivo de fonte (via Explorer, documento ou compartilhamento de arquivo) e não via um protocolo de rede distintivo — o tráfego, quando existe, é apenas a transferência do arquivo malicioso (ex.: via SMB, WebDAV ou e-mail), indistinguível de tráfego legítimo de arquivos. Em nível de host, procurar por crashes ou eventos de erro do processo relacionado à renderização de fontes (Explorer.exe, ou o processo de sandbox do Font Driver Host em Windows 10 — fontdrvhost.exe) coincidindo com o acesso a pastas ou arquivos com fontes incomuns, além de arquivos de fonte Type 1 (.pfb/.pfm) recebidos por canais atípicos (anexos, downloads, compartilhamentos externos) como indicador de possível tentativa de entrega do artefato malicioso.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
A remote code execution vulnerability exists in Microsoft Windows when the Windows Adobe Type Manager Library improperly handles a specially-crafted multi-master font - Adobe Type 1 PostScript format.For all systems except Windows 10, an attacker who successfully exploited the vulnerability could execute code remotely, aka 'Adobe Font Manager Library Remote Code Execution Vulnerability'. This CVE ID is unique from CVE-2020-1020.
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.