[ Relatórios e investigação ]

Evite a expansão da entidade XML e problemas de bomba de arquivamento no processamento de relatórios

Teste a descompactação e os limites de recursos XML de forma independente, usando pequenos acessórios seguros e critérios de recuperação explícitos.

Pela equipe de pesquisa EmailAuth

[Pontos-chave]

  • Os controles de descompactação e recursos externos XML protegem limites diferentes.
  • Teste pequenos insumos sintéticos sob limites deliberadamente baixos.
  • Relate o acesso não medido ou o comportamento dos recursos como não verificado.
Nesta página

A desativação de entidades externas não protege, por si só, um processador de relatórios de todas as entradas de esgotamento de recursos. Um anexo compactado pode se expandir antes do analisador XML ser iniciado, e um XML profundamente aninhado ou superdimensionado pode consumir recursos sem acessar uma entidade externa. Trate a descompressão, a interpretação XML e a admissão de carga de trabalho como limites defensivos separados.

RFC 9990 identifica explicitamente riscos de esgotamento de recursos de arquivo e XML. A orientação XML do OWASP explica por que os controles de recursos externos específicos do analisador são importantes. O design do teste aqui é uma recomendação operacional para verificar esses limites em um ambiente de teste isolado.

Defina o que nunca deve acontecer

Referências: RFC 9990 §8.1.

O trabalhador não deve buscar recursos de rede selecionados por anexo, ler segredos de aplicativos por meio de resolução XML, escrever caminhos fornecidos por arquivos ou consumir CPU, memória ou disco ilimitados. Dê-lhe acesso mínimo ao sistema de arquivos e nenhum acesso desnecessário à rede. Use um ambiente de teste descartável com canários sintéticos em vez de segredos de produção.

Defina limites observáveis ​​para entrada compactada, saída expandida, tempo de análise, aninhamento, comprimento de texto e trabalhos simultâneos. Registre onde cada limite é aplicado. Um tempo limite próximo à importação final não pode proteger uma etapa anterior de descompactação ilimitada.

Verifique os recursos XML diretamente

Referência: Prevenção de entidade externa OWASP XML, Orientação Geral.

Configure o analisador real e qualquer camada de validação de esquema ou transformação. Desative o processamento desnecessário de DTD, entidades externas, XInclude e carregamento de recursos externos. Trate as configurações de segurança não suportadas como falhas de configuração. Uma configuração segura do analisador pode ser prejudicada se um estágio de validação posterior buscar um esquema escolhido pela entrada. Revise toda a cadeia de processamento, não apenas a primeira chamada da biblioteca.

Use um pequeno acessório contendo uma referência externa para um sentinela de teste controlado. O comportamento esperado é a rejeição ou a não resolução segura sob a política documentada, sem acesso sentinela. Grave telemetria de rede e acesso a arquivos. Não aponte referências de teste para arquivos locais confidenciais ou serviços externos que você não controla.

Testes de expansão inofensivos vinculados

Referências: RFC 9990 §8.1.

Para descompressão, use conteúdo sintético pequeno e limites de teste intencionalmente baixos. Para XML, use aninhamento limitado ou acessórios de expansão interna projetados para ultrapassar limites igualmente baixos. Não há necessidade de criar uma bomba verdadeiramente enorme para estabelecer que uma fronteira é aplicada.

Caso ilustrativo: um trabalhador de teste tem um limite de bytes expandidos de 256 KiB e um prazo de processamento de um segundo. Um fluxo expandido sintético de 300 KiB deve parar no limite de bytes. Um pequeno acessório de referência externa separado não deve causar nenhuma pesquisa. A aprovação em um caso não prova que o outro limite funciona. Os limites são ilustrativos e a memória real e o tempo decorrido devem ser medidos em vez de assumidos.

Verifique a contenção de falhas

Para cada acessório rejeitado, afirme que nenhum registro de relatório parcial foi confirmado, nenhum arquivo de saída não aprovado apareceu e o diagnóstico contém uma referência de entrada segura e o motivo. Tamanho de diagnóstico limitado também, porque copiar todo o documento rejeitado em logs cria outro risco de recursos e privacidade.

Envie um pequeno relatório válido a seguir. Verifique se o processamento da fila é recuperado, se os arquivos temporários são limpos dentro da política aprovada e se a reprodução não cria contagens duplicadas. Exercite chegadas simultâneas dentro de um orçamento de teste seguro para que os limites agregados de trabalhadores sejam testados, bem como os limites por arquivo.

Torne a evidência do teste repetível

Referências: RFC 9990 §8.1, RFC 9990 §9.2.

Retenha hashes de fixtures, versões de analisador e tempo de execução, configuração, limites, resultados esperados e resultados medidos. Repita após alterações de dependência, analisador, contêiner ou validação. Se um teste não puder observar acesso externo ou uso de memória, marque essa parte como não verificada em vez de declarar o pipeline seguro.

Uma rejeição prova que uma entrada específica encontrou um limite específico na configuração testada. Isso não prova que todos os documentos maliciosos possíveis sejam inofensivos. Combine equipamentos focados, configuração revisada, isolamento e monitoramento e mantenha um proprietário para acompanhamento quando qualquer limite falhar.

O pacote de revisão executa apenas uma pequena demonstração de descompressão limitada e modelos semânticos. Os testes de referência externa, isolamento de memória, trabalho simultâneo e contenção de banco de dados real descritos acima permanecem requisitos de aceitação, não testes concluídos.

[ Remover ]

Relate o acesso não medido ou o comportamento dos recursos como não verificado.

[Por função]

O que isso significa para você

Escolha sua função para ver as próximas etapas práticas.

Administrador de TI/Correio

Teste a descompactação e os limites XML separadamente.

Meça o acesso externo e o uso de recursos. Verifique a recuperação limpa após a rejeição.

Próximas etapas

  1. Teste a descompactação e os limites XML separadamente.
  2. Meça o acesso externo e o uso de recursos.
  3. Verifique a recuperação limpa após a rejeição.

CISO/SecOps

Revise toda a cadeia de validação.

Exige menos privilégios e isolamento. Distinguir casos testados de garantia universal.

Próximas etapas

  1. Revise toda a cadeia de validação.
  2. Exige menos privilégios e isolamento.
  3. Distinguir casos testados de garantia universal.

Fundador / Não técnico

Exigir um proprietário de teste e critérios de recuperação.

Mantenha os segredos de produção fora dos equipamentos. Rastreie falhas de controle não resolvidas até o fechamento.

Próximas etapas

  1. Exigir um proprietário de teste e critérios de recuperação.
  2. Mantenha os segredos de produção fora dos equipamentos.
  3. Rastreie falhas de controle não resolvidas até o fechamento.

[ Perguntas frequentes ]

Perguntas frequentes

Desativar o XXE interrompe as bombas de arquivo?

Não. A descompressão tem seus próprios riscos de expansão e recursos antes da interpretação XML.

RFC 9990 §8.1

A validação de esquema pode reintroduzir o acesso à rede?

Sim, se seguir locais externos não confiáveis. Revise essa camada separadamente.

Os testes devem alocar grandes quantidades de dados?

Não. Use luminárias pequenas com limites de escalonamento baixos para verificar o comportamento de parada com segurança.

Para onde devem apontar as referências de teste externas?

Somente para sentinelas sintéticas controladas em ambiente isolado e autorizado.

Quais medidas são úteis?

Bytes expandidos, tempo decorrido, pico de memória, acesso a arquivos, acesso à rede e contagem de linhas confirmadas.

Os documentos rejeitados devem ser copiados para os registros?

Evite o registro irrestrito de conteúdo completo. Mantenha um diagnóstico limitado e uma referência de entrada protegida.

O que comprova a recuperação?

Um fixture válido subsequente é processado corretamente sem métricas duplicadas ou parciais.

Quando a suíte deve ser executada novamente?

Após alterações na configuração do analisador, tempo de execução, descompressor, validação ou isolamento.

[ Fontes ]

Fontes

  1. RFC 9990

    Seções §8.1 · §9.2

  2. Prevenção de Entidade Externa XML OWASP

    Seções Orientação Geral

[ Glossário ]

Glossário

Entidade externa
Uma entidade XML cujo conteúdo de substituição é referenciado fora do documento de entrada; uma resolução insegura pode expor recursos.
Limite de recursos
Um limite configurado e medido de trabalho, como bytes, tempo, memória ou trabalhos simultâneos.
Sentinela sintética
Um recurso de teste controlado usado para detectar acessos inesperados sem expor segredos reais.

Proveniência da empresa

Por que as principais instituições financeiras e governos retiraram seus painéis de segurança de e-mail.

As plataformas tradicionais de autenticação de e-mail vendem um painel e pedem que seus engenheiros façam o trabalho. Em ambientes de alto risco, a supervisão manual significa aplicação atrasada, desvios de configuração e domínios ocultos não monitorados.

EmailAuth é a plataforma de origem de e-mail agente. Nossos agentes impõem p=reject, mantenha remetentes terceiros alinhados e mova seus domínios para full RFC 9989 conformidade, o novo padrão DMARC , com auditabilidade humana no circuito.

Governos Grandes empresas Instituições financeiras de nível 1

SaaS · Locação dedicada · Air gap no local · Criptografia BYOK

Base de conhecimento