Django 2.1.9 版本发行说明

2019 年 6 月 3 日

Django 2.1.9 修复了 2.1.8 版本中的安全问题。

CVE-2019-12308 : AdminURLFieldWidget 跨站脚本攻击(XSS)

AdminURLFieldWidget 生成的可点击的 “当前 URL” 链接显示了提供的值,而没有将其验证为安全的 URL。因此,存储在数据库中的未经验证的值,或者作为 URL 查询参数有效载荷提供的值,都可能导致可点击的 JavaScript 链接。

现在,在显示可点击链接之前,AdminURLFieldWidget 使用 URLValidator 对提供的值进行验证。您可以通过将 validator_class 关键字参数传递给 AdminURLFieldWidget.__init__() 来自定义验证器,例如在使用 formfield_overrides 时。

修复了捆绑的 jQuery 库中的 CVE-2019-11358 问题:原型污染

jQuery 在 3.4.0 之前处理 jQuery.extend(true, {}, ...) 时存在问题,因为它可能因为 Object.prototype 污染而出错。如果一个未经过清理的源对象包含一个可枚举的 __proto__ 属性,它可能会扩展原生的 Object.prototype

Django 管理员使用的捆绑版本的 jQuery 已经修补,以允许 select2 库使用 jQuery.extend()