Django 1.7.6 版本发行说明

2015 年 3 月 9 日

Django 1.7.6 修复了 1.7.5 版本中的一个安全问题和一些错误。

通过 ModelAdmin.readonly_fields 中的属性缓解了XSS攻击

Django admin 中的 ModelAdmin.readonly_fields 属性允许显示模型字段和模型属性。虽然前者已经正确转义,但后者没有。因此,不受信任的内容可能会被注入到管理界面,从而构成了 XSS 攻击的利用向量。

在这个漏洞中,readonly_fields 中使用的每个模型属性,如果不是实际的模型字段(例如一个 property),即使该属性未标记为安全,也会 未经转义而失败。在这个版本中,现在正确地应用了自动转义。

漏洞修复

  • 修复了将 ManyRelatedManager 强制转换为字符串时的崩溃问题(#24352)。
  • 修复了一个 bug,当将现有字段转换为外键时,阻止迁移添加外键约束的问题(#24447)。