← voltar
CVE-2016-3976highsob ataqueCWE-22

CVE-2016-3976

83Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 7.5epss 47%
da publicação à arma75 dias
Publicada no NVD7 de abr.
1ª PoC+75d
CISA KEV+2036d
probabilidade de exploração
47%top 1% das CVEs
exploração observada
simCISA + VulnCheck
3 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumo

Path traversal na CrashFileDownloadServlet do SAP NetWeaver Application Server Java, versões 7.1 a 7.5, permite a leitura de arquivos arbitrários do sistema via parâmetro fileName sem autenticação. A CISA confirma exploração ativa em ambiente real e inclui a falha no catálogo KEV — o risco não é teórico, apesar do CVSS 7.5 (só confidencialidade) subestimar o impacto real em ambientes SAP, onde ler o arquivo certo (chaves, credenciais) costuma virar acesso administrativo completo.

Detalhamento técnico

A falha é um directory traversal clássico (CWE-22) na servlet CrashFileDownloadServlet, componente do SAP NetWeaver AS Java usado para download de arquivos de crash/dump. O parâmetro fileName da requisição HTTP é concatenado ao caminho base sem sanitização adequada contra sequências de escape de diretório, permitindo que o atacante suba na árvore de diretórios usando '..\' (dot-dot-backslash, sintaxe de path Windows) para acessar arquivos fora do diretório esperado pela servlet.

O atacante controla inteiramente o valor de fileName na requisição GET. Não há indicação nas fontes de que a servlet valide extensão, whitelist de diretório ou normalize o caminho antes de ler o arquivo do disco — a única barreira é a ausência de tratamento correto de '..' na string, o que a torna trivialmente contornável.

O PoC divulgado pela ERPScan (descobridora da falha) mostra a leitura de SecStore.key, arquivo que armazena material criptográfico usado pelo NetWeaver para proteger credenciais e segredos internos do secure storage. Isso eleva o impacto de 'leitura de arquivo' para potencial comprometimento total: quem obtém esse arquivo, combinado com outras informações do sistema, pode decifrar segredos armazenados e escalar para acesso administrativo — daí a nota do próprio advisory de que a falha 'permite ler arquivos e depois escalar privilégios', mesmo o CVSS oficial marcando apenas Confidencialidade Alta e Integridade/Disponibilidade nulas.

Como é explorada

O vetor é uma única requisição HTTP GET não autenticada para o endpoint da CrashFileDownloadServlet, com o parâmetro fileName manipulado (ex.: sequência '..\' seguida do caminho do arquivo alvo). Não há necessidade de autenticação prévia, interação do usuário, nem configuração não padrão conhecida — a servlet é parte do runtime padrão do NetWeaver AS Java 7.1-7.5, exposta em qualquer instância acessível via HTTP/HTTPS. A complexidade de exploração é baixa: existe PoC público desde 2016 (Exploit-DB EDB-ID 39996, mesmo conteúdo do advisory ERPSCAN-16-012) e o vetor é apenas manipulação de parâmetro de URL.

O pré-requisito real de impacto está no que o atacante já sabe sobre a estrutura de diretórios do NetWeaver: caminhos como o de SecStore.key são bem documentados publicamente, o que reduz drasticamente o esforço de reconhecimento. A ERPScan optou por não publicar o PoC completo mesmo após o prazo de divulgação responsável, justamente por reconhecer que muitas instâncias SAP NetWeaver ficam expostas à internet e a falha permite exfiltração de segredos que viabilizam escalonamento de privilégios subsequente.

A inclusão no catálogo KEV da CISA (adicionada em 03/11/2021, prazo de correção 03/05/2022) confirma exploração observada em ambiente real, embora a CISA não detalhe se está associada a campanhas de ransomware ('Known To Be Used in Ransomware Campaigns: Unknown'). O resultado final para o atacante é leitura de arquivo arbitrário no sistema de arquivos do servidor NetWeaver, sem escrita ou execução direta — mas com potencial de virar ponto de entrada para comprometimento mais profundo dependendo do arquivo lido.

Versões

Afetadas
SAP NetWeaver Application Server (AS) Java, versões 7.1 a 7.5 (conforme advisory ERPScan e descrição oficial da CVE). O próprio advisório da ERPScan nota que outras versões podem estar afetadas, mas não foram testadas.
Corrigidas em
Correção disponibilizada pela SAP via Security Note 2234971 (publicada em 08/03/2016). As fontes disponíveis não detalham números exatos de patch level/Support Package por sub-versão — consultar a nota diretamente no SAP Support Launchpad para os patches específicos aplicáveis a cada versão do AS Java 7.1-7.5.

Como se proteger

O fornecedor publicou correção via SAP Security Note 2234971 (data de publicação pública: 08/03/2016). A ação recomendada pela CISA no catálogo KEV é 'aplicar atualizações conforme instruções do fornecedor' — as fontes disponíveis não especificam números de patch level ou Support Package Stack exatos que corrigem cada sub-versão entre 7.1 e 7.5; para aplicar a correção é necessário acessar a SAP Note 2234971 diretamente no SAP Support Launchpad (link nas referências) e seguir a versão de patch indicada para o ambiente específico.

Como paliativo real quando a instalação imediata da nota não é viável: restringir o acesso à CrashFileDownloadServlet via regras de proxy reverso ou firewall de aplicação que bloqueiem sequências de path traversal ('../' e '..\') no parâmetro fileName, e isolar a interface administrativa/de diagnóstico do NetWeaver de exposição direta à internet. Isso reduz a superfície mas não elimina a causa raiz — qualquer bypass de encoding no filtro (ex.: variações de encoding de barra) pode contornar uma regra de WAF mal escrita.

Não funciona como mitigação: confiar apenas em autenticação de rede geral (VPN corporativa) sem correção do código, já que a vulnerabilidade não exige autenticação na própria aplicação — qualquer usuário com acesso de rede ao serviço explora a falha. Também não é suficiente ocultar a servlet por 'security through obscurity' sem bloqueio explícito, dado que o caminho da CrashFileDownloadServlet é conhecido publicamente desde 2016.

Como detectar

Requisições HTTP GET para o endpoint da CrashFileDownloadServlet contendo sequências '..\' ou '../' no parâmetro fileName em logs de acesso web (HTTP access log do NetWeaver ou proxy reverso) são o indicador direto de tentativa de exploração — especialmente se o valor do parâmetro referenciar caminhos fora da árvore de diretórios de crash dump esperada, como referências a diretórios de configuração, security ou data.

Não há assinatura única confiável além da presença dessas sequências no parâmetro, já que a requisição em si é uma simples chamada GET sem payload adicional ou múltiplos estágios — isso significa que ataques bem-sucedidos anteriores à instrumentação de log podem não deixar rastro caso o log de acesso não tenha sido retido ou não capture parâmetros de query string completos.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
Directory traversal vulnerability in SAP NetWeaver AS Java 7.1 through 7.5 allows remote attackers to read arbitrary files via a ..\ (dot dot backslash) in the fileName parameter to CrashFileDownloadServlet, aka SAP Security Note 2234971.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.