Charles-François Natali <neolo...@free.fr> added the comment:

I must be missing something, but how is raising an exception when a collision 
threshold is reached a good thing?
Basically, we're just exchanging a DoS for another (just feed the server 
process with ad-hoc data and he'll commit suicide). Sure, the caller can catch 
the exception to detect this, but what for? Restart the process, so that the 
attacker can just try again?
Also, there's the potential of perfectly legit applications breaking.
IMHO, randomization is the way to go, so that an attacker cannot generate a set 
of colliding values beforehand, which renders the attack impracticle. The same 
idea is behind ASLR used in modern kernels, and AFAICT, has been chosen by 
other implementations.
If a such patch has a negligible performance impact, then it should definitely 
be enabled by default. People who want deterministic hashing (maybe to bypass 
an application bug, or just because the want determinism) can disable it if 
they really want to.

----------
nosy: +neologix

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13703>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to