Python 连发 4 版本,修复哈希碰撞漏洞
| 2012-04-12 15:00
Python中的哈希漏洞基于dict和set类型,攻击者可利用特殊的输入语句导致超长的计算时间,甚至拒绝服务。具体来说,攻击者可以通过哈希碰撞来计算成千上万的键值,这会导致构造哈希表时的二元算法复杂性。
为了缓解这一问题,新版本中增加了Python字符串类型、datetime.date和datetime.datetime的哈希随机化功能,这可以防止攻击者计算这些类型的碰撞键值。
事实上,不接受不受信任的输入的Python应用程序不容易受到这类攻击。以上提到的Python稳定版本中,哈希随机化默认被禁用,可以通过以下两种方法来启用:
- 通过-R命令行选项。
- 设置环境变量PYTHONHASHSEED的值为“random”。
这些版本还修复了expat XML解析库中的哈希安全问题,主要与Python core类型有关。现在expat库中使用的哈希算法已经被随机化了。
在这些版本中,其中Python 2.7.3和3.2.3包括安全补丁和正常的bug修复,2.6.8和3.1.5版本中只包含了各种安全补丁。建议Python开发者尽快升级至最新版本。
下载地址: