7-Zip Mark-of-the-Web Bypass Vulnerability
Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Resumo
Falha de implementação no 7-Zip para Windows: ao extrair arquivos de um archive aninhado (um archive dentro de outro) que carrega a marca Mark-of-the-Web (Zone.Identifier), o 7-Zip File Manager não propaga essa marca para os arquivos extraídos. O resultado é que arquivos baixados da internet saem da extração 'limpos', sem o aviso de segurança do Windows, o que facilita a execução de malware sem alertar o usuário. Está no catálogo KEV da CISA com exploração confirmada.
Detalhamento técnico
A causa raiz é uma falha de propagação do stream Zone.Identifier (CWE-693, protection mechanism failure) no código de extração do 7-Zip File Manager, especificamente em ArchiveExtractCallback.cpp, dentro do bloco condicionado a Windows (#if defined(_WIN32)). O Zone.Identifier é o mecanismo que o Windows usa para marcar arquivos originados de fontes remotas (Mark-of-the-Web) e disparar avisos do SmartScreen, do Protected View do Office e de outros controles baseados em zona.
O cenário de exploração envolve um archive aninhado: um arquivo compactado (por exemplo .zip ou .7z) que, quando baixado, recebe a marca de zona pelo navegador — mas dentro dele existe outro archive. Quando a vítima abre o archive externo e extrai o conteúdo do archive interno através do 7-Zip, a marca de zona do container externo não é transferida para os arquivos finais extraídos do archive interno. O atacante controla o conteúdo e a estrutura de aninhamento do archive, decidindo o que fica 'invisível' para o mecanismo de proteção.
O vetor CVSS 3.0 (AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H) reflete que, apesar da descrição falar em 'atacantes remotos', a execução efetiva do código depende de interação local do usuário (abrir/extrair o arquivo) e de complexidade de ataque alta (AC:H) — a exploração não é um simples clique de link, exige que a vítima extraia e execute o payload manualmente. Isso reduz o risco em relação ao que a manchete 'bypass de MotW com execução de código' sugere: o 7-Zip não executa código algum por conta própria; ele apenas remove uma barreira de aviso para uma execução que a vítima ainda precisa iniciar.
Como é explorada
O ataque exige que a vítima baixe e abra um archive aninhado malicioso — o mesmo padrão de engenharia social usado em campanhas de phishing e distribuição de malware que já abusam de MotW há anos. Não há necessidade de rede especial, privilégios elevados ou configuração não padrão do 7-Zip; o único pré-requisito real é ter uma versão vulnerável instalada no Windows e o usuário aceitar extrair e depois executar o conteúdo interno (script, executável, documento com macro, LNK, etc.).
O ganho prático para o atacante não é execução de código pelo 7-Zip em si, mas a supressão do aviso de segurança que normalmente apareceria ao abrir o arquivo extraído — SmartScreen, Protected View do Office, ou prompts de 'este arquivo veio de outro computador e pode ser bloqueado'. Sem esse aviso, a cadeia de infecção subsequente (execução de payload, macro, script) tem muito mais chance de ser concluída pela vítima sem hesitação.
A CISA confirma exploração ativa em campo (entrada no KEV desde 2025-02-06, prazo de mitigação 2025-02-27), consistente com o padrão de uso desse tipo de bypass em cadeias de distribuição de malware via anexos e downloads maliciosos. Existe PoC pública documentada por pesquisadores (ZDI/Trend Micro), o que reduz a barreira para replicação por outros grupos.
Versões
Como se proteger
A correção definitiva é atualizar para o 7-Zip 24.09 ou posterior — o changelog oficial do projeto (7-zip.org/history.txt) descreve a correção como propagação do Zone.Identifier para arquivos extraídos de archives aninhados. Não há flag de configuração, política de grupo ou parâmetro de linha de comando documentado que mitigue a falha em versões anteriores; a única forma de eliminar o risco sem atualizar é não usar o 7-Zip para extrair archives de origem não confiável, ou usar uma ferramenta de extração alternativa que preserve corretamente o MotW.
A própria CISA, na entrada do KEV, usa a linguagem genérica 'aplicar mitigações do fornecedor ou descontinuar o uso do produto se não houver mitigação disponível' — na prática, isso significa atualizar, porque não existe workaround de configuração publicado pelo fornecedor.
Vale reforçar: a falha é específica do comportamento do 7-Zip no Windows (o próprio Zone.Identifier é um recurso NTFS/Windows); instalações em Linux/macOS não são afetadas pela ausência desse mecanismo. Controles compensatórios genéricos — bloqueio de execução de macros, EDR com detecção comportamental de payloads extraídos de archives, políticas de bloqueio de extensões executáveis em e-mail — reduzem o impacto da cadeia de ataque mas não corrigem a falha de propagação do MotW em si.
Como detectar
Não há assinatura de rede ou log de sistema operacional que indique de forma confiável a exploração — o ataque ocorre inteiramente no processo de extração local do 7-Zip, sem tráfego de rede distintivo. O sinal mais próximo de indicador é telemetria de endpoint: arquivos extraídos por 7-Zip.exe/7zFM.exe que não possuem stream Zone.Identifier (Get-Item -Stream Zone.Identifier no PowerShell) apesar de terem se originado de um archive baixado da internet, seguidos de execução do arquivo extraído sem prompt de segurança do Windows.
Em ambientes corporativos, correlacionar eventos de download de archive (proxy/e-mail) com extração via 7-Zip e execução subsequente de binários/scripts sem os alertas típicos de MotW (SmartScreen, Protected View) é o indicador mais prático disponível, mas exige instrumentação de EDR específica — não é algo detectável só com logs padrão do Windows.