Negação de serviço em aplicações Web PDF Imprimir

Possível negação de serviço em multiplas implementações de linguagens de programação utilizadas em aplicações Web.

Sistemas Operativos Implicados: MS Windows, Linux, Unix
Aplicações Implicadas: Java, JRuby, PHP, Python, Rubinius, Ruby, Apache Geronimo, Apache Tomcat, Oracle Glassfish, Jetty, Plone, Rack, V8 Javascript Engine, .NET

I. Descrição

Uma variedade de linguagens de programação sofrem de uma negação de serviço da condição (DoS) contra a funções de armazenamento de pares chave / valor de hash em estruturas de dados, a condição pode ser aproveitado através da exploração de colisões previsível nos algoritmos de hash subjacente.
 
A questão encontra a exposição especial em aplicações web server e / ou frameworks. Em particular, a falta de limites suficientes para o número de parâmetros em pedidos POST em conjunto com as propriedades de colisão previsível nas funções de hashing das línguas subjacente pode tornar as aplicações web vulneráveis ​​à condição DoS. O atacante, usando solicitações HTTP especialmente criadas, pode levar a um 100% de uso da CPU que pode durar várias horas, dependendo da aplicação orientada e desempenho do servidor, o efeito de amplificação é considerável e requer pouca banda e tempo do lado atacante.
 
A condição para colisões previsíveis nas funções de hash tem sido relatada para a implementações de linguagens seguintes: Java, JRuby, PHP, Python, Rubinius, Ruby. No caso da linguagem Ruby, o ramo 1.9.x não é afetado pela condição de colisão previsível uma vez que esta versão inclui uma randomização da função hash.
 
A vulnerabilidade descrita neste boletim é praticamente idêntico ao reportado em 2003 e descrito na Denial of Service via papel Ataques Complexidade algorítmica que afetou a linguagem Perl.
 
A assessoria próprios repórteres podem ser encontradas em http://www.nruns.com/_downloads/advisory28122011.pdf
Várias linguagens de programação estão vulneráveis a ataques de negação de serviço (DoS) contra a funções de armazenamento de pares chave/valor em tabelas hash. As aplicações de web server e/ou frameworks estão em particular exposição. O atacante, utilizando pedidos HTTP especialmente criados, pode levar a um uso total do CPU que pode durar várias horas, dependendo da aplicação e desempenho do servidor, o efeito de amplificação é considerável e requer pouca largura de banda e tempo do lado atacante.
 
 
 
Versões afectadas:
Java, todas as versões
JRuby
PHP
Python, todas as versões
Rubinius, todas as versões
Ruby
Apache Geronimo, todas as versões
Apache Tomcat
Oracle Glassfish
Jetty, todas as versões
Plone, todas as versões
Rack
V8 JavaScript Engine, todas as versões
.NET 1.1 SP1, 2.0 SP2, 3.5 SP1, 3.5.1, 4.0
 
 
Versões corrigidas:
Java, N/A
JRuby >= 1.6.5.1
PHP >= 5.3.9, >= 5.4.0RC4
Python, N/A
Rubinius, N/A
Ruby >= 1.8.7-p357, 1.9.x
Apache Geronimo, N/A
Apache Tomcat >= 5.5.35, >= 6.0.35, >= 7.0.23
Oracle Glassfish, N/A (Oracle reports that the issue is fixed in the main codeline and scheduled for a future CPU)
Jetty, N/A
Plone, N/A
Rack >= 1.4.0, >= 1.3.6, >= 1.2.5, >= 1.1.3
V8 JavaScript Engine, N/A

II. Solução

Actualizar as aplicações/frameworks para uma versão não afectada.

A Microsoft lançou uma actualização crítica (ms11-100) para várias versões da .NET Framework.

III. Referências

CVE: CVE-2011-5034 (Apache Geronimo), CVE-2011-5035 (Oracle Glassfish), CVE-2011-4461 (Jetty), CVE-2011-4838 (JRuby), CVE-2011-4885 (PHP), CVE-2011-4462 (Plone), CVE-2011-5036 (Rack), CVE-2011-4815 (Ruby), CVE-2011-4858 (Apache Tomcat), CVE-2011-5037 (V8 JavaScript Engine)

http://www.ocert.org/advisories/ocert-2011-003.html

http://www.nruns.com/_downloads/advisory28122011.pdf

http://www.cs.rice.edu/~scrosby/hash/CrosbyWallach_UsenixSec2003.pdf

http://svn.php.net/viewvc?view=revision&revision=321003 (instável, não final)

http://svn.php.net/viewvc?view=revision&revision=321040 (instável, não final)

https://gist.github.com/52bbc6b9cc19ce330829

http://technet.microsoft.com/en-us/security/bulletin/ms11-100

Missão

O CERT.PT tem como missão contribuir para o esforço de cibersegurança nacional nomeadamente no tratamento e coordenação da resposta a incidentes, na produção de alertas e recomendações de segurança e na promoção de uma cultura de segurança em Portugal.

PT EN
Participe Incidente

Contactos

Av. do Brasil 101 
1700-066 Lisboa 
Portugal

Tel: +351 218440177 (9h30-12h30, 14h00-17h30; GMT)  
Fax: +351 218472167

email:

pgp: 342A 17BA DF71 E193 6871 0357 8BDE A247 C523 AAE7

Filiação

FIRST
Acreditação Internacional
Membro da Rede Nacional CSIRTs