← volver
CVE-2015-1635criticalbajo ataqueCWE-94

CVE-2015-1635

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 9.8epss 100%
de la publicación al arma1 días
Publicada en NVD14 abr
1ª PoC+1d
CISA KEV+2494d
probabilidad de explotación
100%top 1% de las CVE
explotación observada
CISA + VulnCheck
30 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-08-10

Apply updates per vendor instructions.

Resumen

CVE-2015-1635 (MS15-034) é uma falha de overflow no HTTP.sys, o driver de modo kernel do Windows que processa requisições HTTP para IIS e qualquer outro serviço construído sobre essa pilha. Um único request malformado, sem autenticação, pode derrubar o sistema com BSOD de forma confirmada publicamente; a execução remota de código em contexto SYSTEM é a caracterização da Microsoft, mas nenhum PoC público demonstrou isso — o que existe e circula é negação de serviço. Está no catálogo KEV da CISA por exploração ativa confirmada, apesar de ser uma vulnerabilidade de 2015.

Detalle técnico

O problema está no parsing do cabeçalho HTTP Range pelo HTTP.sys, o driver kernel-mode que processa requisições HTTP antes de entregá-las ao IIS ou a qualquer aplicação que use a pilha HTTP nativa do Windows. Ao calcular o intervalo de bytes solicitado, o código soma valores do cabeçalho Range usando aritmética de 64 bits sem validar limites — um valor próximo de 18446744073709551615 (2^64-1) provoca overflow/underflow na rotina interna HTTP!RtlULongLongAdd, conforme identificado por pesquisadores que dissecaram o binário corrigido.

O atacante controla integralmente o valor do cabeçalho Range enviado na requisição HTTP. Como o parsing ocorre em modo kernel — não em modo usuário, como a maioria das falhas de aplicação web — um erro de aritmética ali tem potencial para corromper memória do kernel, e não apenas do processo do IIS. Isso justifica a classificação Critical/RCE da Microsoft mesmo sem prova pública de execução de código.

A pré-condição prática relevante é o cache em modo kernel do IIS estar habilitado — comportamento padrão em muitas instalações — porque o caminho de código vulnerável no processamento de Range é exercitado quando há tentativa de servir conteúdo estático a partir do cache do kernel. A Microsoft não listou fatores mitigantes adicionais no boletim.

Cómo se explota

O vetor é uma requisição HTTP direta ao serviço afetado, sem necessidade de autenticação, sem interação do usuário e sem qualquer pré-requisito de rede além de acesso à porta onde o HTTP.sys está escutando (normalmente 80/443 via IIS). Os PoCs públicos (exploit-db 36773 e 36776) seguem o mesmo padrão: uma requisição inicial a um recurso estático válido (ex.: iisstart.htm) para forçar o cache, seguida de uma segunda requisição com cabeçalho Range contendo um valor de byte final gigantesco, próximo do limite de 64 bits sem sinal.

O resultado documentado e verificável desses exploits públicos é o crash do servidor (BSOD) — negação de serviço, repetível remotamente e sem credenciais. A Microsoft afirma que a falha permite execução de código arbitrário no contexto da conta System, dado que a corrupção ocorre em modo kernel, mas essa capacidade não foi demonstrada publicamente em nenhum exploit conhecido; trate a alegação de RCE como não comprovada em PoC aberto, embora plausível dado o CVSS 9.8 atribuído e a inclusão no KEV da CISA.

A presença de módulo Metasploit e template Nuclei tornou a varredura e a exploração de DoS triviais de automatizar, o que explica a exploração ativa registrada anos após a divulgação — sistemas Windows Server 2008 R2/2012 sem patch continuam expostos a crashes remotos triviais, mesmo sem confirmação de RCE.

Versiones

Afectadas
Windows 7 SP1 (32-bit e x64), Windows Server 2008 R2 SP1 (x64 e Itanium), Windows 8 (32-bit e x64), Windows 8.1 (32-bit e x64), Windows Server 2012, Windows Server 2012 R2 — incluindo as instalações Server Core desses dois últimos.
Corregidas en
Corrigido pela atualização KB3042553, distribuída no boletim MS15-034 (14/04/2015), aplicável a todas as edições listadas em versions_affected.

Cómo protegerse

A correção oficial é o boletim MS15-034 (KB3042553), aplicável a Windows 7 SP1, Windows Server 2008 R2 SP1, Windows 8, Windows 8.1, Windows Server 2012 e Windows Server 2012 R2 (incluindo instalações Server Core). Não há patch separado por SKU listado além desse KB; a Microsoft não indica versões subsequentes de HTTP.sys com numeração própria — a correção é distribuída via Windows Update/KB.

Se a atualização não puder ser aplicada imediatamente, o único workaround publicado pela própria Microsoft é desabilitar o cache em modo kernel do IIS. Isso reduz a superfície porque o caminho de código vulnerável do Range é exercitado no contexto desse cache, mas tem custo real de performance — o servimento de conteúdo estático passa a depender de cache em modo usuário, mais lento sob carga.

Filtrar ou normalizar o cabeçalho Range em um proxy reverso ou WAF antes que a requisição chegue ao HTTP.sys é um controle compensatório técnico razoável (bloquear valores de range fora de limites plausíveis de tamanho de arquivo), mas não é uma mitigação validada pela Microsoft — é redução de exposição, não correção. Não existe indicação de que atualizar apenas o IIS, sem o patch de sistema operacional, resolva o problema: a falha está no driver de kernel, não no IIS em si.

Cómo detectar

Requisições HTTP com cabeçalho Range contendo valores numéricos extremos, próximos de 18446744073709551615 (2^64-1) — como no padrão 'Range: bytes=0-18446744073709551615' ou variações com offset inicial diferente — são o indicador mais direto de tentativa de exploração, e podem ser buscadas em logs de proxy, IIS ou captura de tráfego. Um sinal indireto é crash inesperado do sistema com bugcheck do kernel (BSOD) sem causa aparente em servidor web Windows nas versões afetadas, especialmente se precedido por tais requisições nos logs de acesso.

Não há assinatura única e confiável para diferenciar tentativa de DoS de eventual tentativa de RCE, já que ambas usam o mesmo vetor (cabeçalho Range malformado); a diferença estaria no efeito observado no host, não no payload de rede.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
HTTP.sys in Microsoft Windows 7 SP1, Windows Server 2008 R2 SP1, Windows 8, Windows 8.1, and Windows Server 2012 Gold and R2 allows remote attackers to execute arbitrary code via crafted HTTP requests, aka "HTTP.sys Remote Code Execution Vulnerability."
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Productos afectados
n/a · n/a
PoCs públicas encontradas30
exploitdbwww.exploit-db.com/exploits/36776no verificadoexploitdbwww.exploit-db.com/exploits/36773no verificadogithubgithub.com/technion/erlvulnscan10githubgithub.com/aedoo/CVE-2015-1635-POC9githubgithub.com/Zx7ffa4512-Python/Project-CVE-2015-16352githubgithub.com/h3x0v3rl0rd/CVE-2015-1635-POC2githubgithub.com/w01ke/CVE-2015-1635-POC1githubgithub.com/Cappricio-Securities/CVE-2015-16351githubgithub.com/bongbongco/MS15-0341githubgithub.com/hedgecore/HTTPsys0githubgithub.com/moeinmiadi/CVE-2015-1635_PoC0githubgithub.com/u0pattern/Remove-IIS-RIIS0githubgithub.com/SkinAir/ms15-034-Scan0githubgithub.com/wiredaem0n/chk-ms15-0340githubgithub.com/h3x0v3rl0rd/CVE-2015-16350vulncheckvulncheck.com/xdb/f333a38f931ano verificadovulncheckvulncheck.com/xdb/7690005e3e24no verificadovulncheckvulncheck.com/xdb/693e42549523no verificadovulncheckvulncheck.com/xdb/2d56398584adno verificadovulncheckvulncheck.com/xdb/215deead4210no verificadovulncheckvulncheck.com/xdb/640f8e881740no verificadovulncheckvulncheck.com/xdb/df55a69b1021no verificadovulncheckvulncheck.com/xdb/bd16f7896930no verificadovulncheckvulncheck.com/xdb/55628ec20b97no verificadovulncheckvulncheck.com/xdb/58a3b1e81ee2no verificadovulncheckvulncheck.com/xdb/4d00daf97977no verificadovulncheckvulncheck.com/xdb/661c0f964319no verificadocve_referencepacketstormsecurity.com/files/131463/Microsoft-Windows-HTTP.sys-Proof-Of-Concept.htmlno verificadocve_referencewww.exploit-db.com/exploits/36773/no verificadocve_referencewww.exploit-db.com/exploits/36776/no verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.