¿Existe un exploit (código de PoC) para esta vulnerabilidad (colisión de tabla hash) para python?
2011-003 múltiples implementaciones de denegación de servicio mediante algoritmo hash colisión
Descripción:
Una variedad de lenguajes de programación sufre de una denegación de servicio Condición (DoS) contra funciones de almacenamiento de pares clave / valor en hash estructuras de datos, la condición se puede aprovechar mediante la explotación Colisiones predecibles en los algoritmos de hashing subyacentes.
El problema encuentra una exposición particular en aplicaciones de servidor web y / o marcos En particular, la falta de límites suficientes para la número de parámetros en las solicitudes POST junto con el propiedades de colisión predecibles en las funciones hash de la Los lenguajes subyacentes pueden hacer que las aplicaciones web sean vulnerables al DoS. condición. El atacante, utilizando solicitudes HTTP especialmente diseñadas, puede llevar a un 100% de uso de CPU que puede durar hasta varias horas Dependiendo de la aplicación y el rendimiento del servidor, el El efecto de amplificación es considerable y requiere poco ancho de banda y Tiempo en el lado del atacante.
La condición para las colisiones predecibles en las funciones hash tiene reportado para las siguientes implementaciones de lenguaje: Java, JRuby, PHP, Python, Rubinius, Ruby. En el caso del lenguaje rubí, el La rama 1.9.x no se ve afectada por la condición de colisión predecible ya que esta versión incluye una aleatorización de la función de hashing.
La vulnerabilidad descrita en este aviso es prácticamente idéntica. a la informada en 2003 y descrita en el documento Denegación de Servicio a través de ataques de complejidad algorítmica que afectaron al Perl idioma.
El propio aviso de los reporteros se puede encontrar en
http://www.nruns.com/_downloads/advisory28122011.pdf
[mods: el enlace ya no funciona]