2013/10/5 Larry Hastings <la...@hastings.org>:
> On 10/04/2013 11:15 AM, Victor Stinner wrote:
>
> 2013/10/4 Armin Rigo <ar...@tunes.org>:
>
> The current hash randomization is
> simply not preventing anything; someone posted long ago a way to
> recover bit-by-bit the hash randomized used by a remote web program in
> Python running on a server.
>
> Oh interesting, is it public?
>
>
> http://events.ccc.de/congress/2012/Fahrplan/events/5152.en.html
>
> Quoting the synopsis:
>
> We also describe a vulnerability of Python's new randomized hash, allowing
> an attacker to easily recover the 128-bit secret seed.

SipHash homepage contains a "proof of concept" to compute the secret:
https://131002.net/siphash/poc.py

But the script is not an exploit on a web server, but a script running
locally. It requires for example to know the hash of strings "\0" and
"\0\0". I would like to know if it's possible to retrieve such
information in practice.

And how do you retrieve the whole hash value from an HTTP page? You
may retrieve some bits using specific HTTP requests, but not directly
the whole hash value. I don't know any web page displaying directly
the hash value of a string coming from the user request!?

I'm not saying that the hash DoS does not exist, I'm just trying to
estimate the risk (compared to other DoS attacks). Changing the
default hash function is also risky and has a (well, minor) impact on
performances.

Victor
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to