
Prova de conceito em Python que explora um estouro de acumulador de tamanho de chunk de 32 bits no parser HTTP/1.1 chunked do nsppe do NetScaler para acionar contrabando de requisições.
Prova de conceito para um problema de contrabando de requisições HTTP (HTTP request smuggling) no analisador de corpo chunked HTTP/1.1 do nsppe do NetScaler.
Um valor de tamanho de chunk com nove dígitos (100000005) é acumulado em um registrador de 32 bits sem verificação de estouro, sofrendo wrap silencioso para 5.
O proxy encaminha o enquadramento original, mas usa o tamanho após o wrap para decidir onde a requisição termina.
Um backend correto que calcula o comprimento completo de 64 bits e um proxy que já finalizou a requisição agora discordam sobre os limites da mensagem.
python3 88773.py <host> [--port 443] [--sni poc] [--plain] [--flow {a,b,both}] [--timeout 5] [-v]
Nenhuma autenticação é necessária. A única precondição é a acessibilidade de um servidor virtual HTTP no appliance.
O script primeiro envia um POST chunked e um par de GETs em pipeline. Estes estabelecem que o alvo retransmite tanto tráfego de requisição única quanto de múltiplas requisições antes que o payload de contrabando seja tentado. Estas pessoas fizeram a pesquisa detalhada. Recomendo fortemente a leitura -> https://github.com/Scyrix-LLC/CVE-2026-88773
Esta é uma prova de conceito de pesquisa. Não inclui weaponização (desculpe!)