Debian DLA-143-1:python-django 安全更新

medium Nessus 插件 ID 82126

简介

远程 Debian 主机缺少安全更新。

描述

已在 Django 中发现多种安全问题:
https://www.djangoproject.com/weblog/2015/jan/13/security/

对于 Debian 6 Squeeeze,已在 python-django 的版本 1.2.3-3+squeeze12 中修复这些问题。此处是上游开发人员必须说出的关于这些问题的内容:

CVE-2015-0219 - 通过下划线/破折号合并进行的 WSGI 标头欺骗

当将 HTTP 标头放置到 WSGI environ 中时,通过转换成大写、将所有破折号转换成下划线并在前面添加 HTTP_ 对它们进行规范化。例如,标头 X-Auth-User 在 WSGI environ 中将变成 HTTP_X_AUTH_USER(并且在 Django 的 request.META 字典中也进行此转换)。

但是,这意味着 WSGI environ 无法区分含有破折号的标头与含有下划线的标头:X-Auth-User 和 X-Auth_User 都变成 HTTP_X_AUTH_USER。这意味着如果以安全敏感的方式使用标头(例如,传递来自前端代理的认证信息),即使代理仔细剥离 X-Auth-User 的任何传入值,攻击者也可提供 X-Auth_User 标头(使用下划线)并绕过此保护。

为了防止此类攻击,Nginx 和 Apache 2.4+ 默认情况下剥离传入请求中含有下划线的所有标头。Django 的内置开发服务器现在执行同样的操作。建议不要将 Django 的开发服务器用于生产用途,但是匹配常见生产服务器的行为减少了部署期间行为更改的外围应用。

CVE-2015-0220 - 可能通过用户提供的重定向 URL 进行的 XSS 攻击

Django 在某些情况下依赖用户输入(例如
django.contrib.auth.views.login() 和国际化)以将用户重定向到“on success”URL。这些重定向的安全检查(即 django.util.http.is_safe_url())未剥离经测试的 URL 的前导空白,因此将“\njavascript:...”这样的 URL 视为安全的。
如果开发人员依赖 is_safe_url() 提供安全重定向目标并且将此类 URL 放入链接,则它们可遭受 XSS 攻击。此缺陷当前不影响 Django,因为我们仅将此 URL 放入 Location 响应头,并且浏览器似乎忽略此处的 JavaScript。

CVE-2015-0221 - 针对 django.views.static.serve 的拒绝服务攻击

在旧版本的 Django 中,django.views.static.serve() 视图读取文件时一次处理一行。因此,没有换行符的大文件将导致内存使用量等于该文件的大小。
攻击者可利用此漏洞通过同时请求许多大文件发起拒绝服务攻击。此视图现在以区块读取文件以防止大内存使用量。

但是,请注意,此视图始终带有一个警告,表明它未针对生产用途进行强化并且应该仅用作开发辅助。如果您未这样做,现在可能是审计您的项目并使用真实的前端 Web 服务器在生产中处理您的文件的好时机。

请注意,Debian 6 Squeeze 中使用的 Django 版本不受 CVE-2015-0222(由 ModelMultipleChoiceField 造成的数据库拒绝服务)影响,因为此版本中不存在该功能。

注意:Tenable Network Security 已直接从 DLA 安全公告中提取上述描述块。Tenable 已尝试在不引入其他问题的情况下尽可能进行了自动整理和排版。

解决方案

升级受影响的 python-django 和 python-django-doc 程序包。

另见

https://lists.debian.org/debian-lts-announce/2015/01/msg00017.html

https://packages.debian.org/source/squeeze-lts/python-django

https://www.djangoproject.com/weblog/2015/jan/13/security/

插件详情

严重性: Medium

ID: 82126

文件名: debian_DLA-143.nasl

版本: 1.8

类型: local

代理: unix

发布时间: 2015/3/26

最近更新时间: 2021/1/11

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

风险信息

VPR

风险因素: Medium

分数: 4.2

CVSS v2

风险因素: Medium

基本分数: 5

时间分数: 3.7

矢量: CVSS2#AV:N/AC:L/Au:N/C:N/I:P/A:N

漏洞信息

CPE: p-cpe:/a:debian:debian_linux:python-django, p-cpe:/a:debian:debian_linux:python-django-doc, cpe:/o:debian:debian_linux:6.0

必需的 KB 项: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

易利用性: No known exploits are available

补丁发布日期: 2015/1/29

漏洞发布日期: 2015/1/16

参考资料信息

CVE: CVE-2015-0219, CVE-2015-0220, CVE-2015-0221

BID: 72078, 72079, 72081