已发布安全修复
根据我们的安全策略,Django 项目今天发布了一系列版本,以修复报告给我们的安全漏洞。此消息包含漏洞说明、修复更改说明以及每个受支持 Django 版本的补丁指针。
漏洞说明
为方便会话过期的用户,Django 管理应用程序会在重新验证用户身份时尝试保留来自传入提交的 HTTP POST 数据,并且会在成功验证后允许提交继续,而无需重新输入数据。
Django 开发者 Simon Willison 向 Django 开发团队提供了一个概念验证跨站点请求伪造 (CSRF) 攻击,该攻击利用此行为执行未经请求的数据删除/修改。此漏洞已由 Django 团队测试和验证,无论 Django 的捆绑式 CSRF 保护模块是否处于活动状态,该漏洞都能成功利用。
受影响的版本
- Django 开发主干
- Django 0.96
- Django 0.95
- Django 0.91
解决方案
由于它代表了 CSRF 攻击的持久性载体,因此此行为已从 Django 中移除;从今以后,会话过期的用户的尝试提交将被丢弃,并且需要重新输入数据。
这与现有行为不兼容,可能被视为功能移除;但是,Django 团队认为此功能的安全风险大于其微不足道的实用性。
此问题的修复已应用于 Django 代码库中的变更集 8877,其中包含每个受影响版本的相关更改
基于这些更改,Django 团队发布了三个新版本
- Django 0.96.3:https://django.ac.cn/download/0.96.3/tarball/
- Django 0.95.4:https://django.ac.cn/download/0.95.4/tarball/
- Django 0.91.3:https://django.ac.cn/download/0.91.3/tarball/
相关补丁也已应用于 Django 主干,因此将包含在即将发布的 Django 1.0 发行候选版本(将于今天晚些时候发布)和最终 Django 1.0 版本中。
鼓励所有使用受影响 Django 版本的用户立即升级。
包含新发行版软件包的 MD5 和 SHA1 校验和的文件已放置在 djangoproject.com 服务器上。此文件使用 Django 发行经理的公钥进行 PGP 签名。此密钥的 ID 为 0x8C8B2AE1,可从例如MIT PGP 密钥服务器获取。
发行经理说明
如果您目前正在维护和分发 Django 的打包版本(例如,用于 Linux 或其他 Unix 发行版),或者您是正式支持 Django 作为客户选项的主机公司,并且您**没有**收到此问题的提前通知,请尽快联系 Django 的发行经理(James Bennett,james at b-list dot org),以便您可以添加到接收此类通知的已知分销商列表中。
返回顶部