FreeBSD:django -- 多种漏洞 (1b769b72-582b-11e2-b66b-00e0814cab4e)

high Nessus 插件 ID 63396

简介

远程 FreeBSD 主机缺少一个或多个与安全有关的更新。

描述

Django 项目报告:

- 主机标头中毒

多个较早的 Django 安全版本专注于使 HTTP Host 标头中毒的问题,从而导致 Django 生成指向可能是恶意的任意域的 URL。

为了回应收到的进一步输入和对上一个版本后继续存在的问题的报告,我们正在采取更多措施加强 Host 标头验证。Django 的 Host 标头验证支持更小但是常见得多的子集,而不是尝试调节 HTTP 在此处支持的所有功能:

- 主机名必须由字符 [A-Za-z0-9] 加连字符(“-”)或点(“.”)构成。

- 允许 IP 地址(IPv4 和 IPv6)。

- 端口(如果已指定)为数字。

只要违反了以上规则,都将引发异常 django.core.exceptions.SuspiciousOperation。

- 重定向中毒

再继续探索上一个问题:今年 7 月,我们对 Django 的 HTTP 重定向类进行了更改,对要重定向到的 URL 的方案执行更多验证(因为,在 Django 自己提供的应用程序和许多第三方应用程序内,通常接受用户提供的重定向目标)。

此后,代码的两次独立审计发现了更多潜在问题。因此,与 Host-header 问题类似,我们正在采取措施提供更严格的验证以回应报告的问题(主要是第三方应用程序的问题,但是在一定范围内,也包括 Django 本身内的应用程序的问题)。这分为两个部分:

- 添加了新的实用工具函数 django.utils.http.is_safe_url;
此函数采用 URL 和主机名,并检查 URL 是相对 URL,还是匹配提供的主机名的绝对 URL。只要接受用户提供的重定向目标,就应使用此函数,以确保此类重定向不能导致任意第三方站点。

- Django 自己的所有内置视图(主要在认证系统中),这些视图允许用户提供的重定向目标现在使用 is_safe_url 验证提供的 URL。

解决方案

更新受影响的数据包。

另见

https://www.djangoproject.com/weblog/2012/dec/10/security/

http://www.nessus.org/u?d9cdcda5

插件详情

严重性: High

ID: 63396

文件名: freebsd_pkg_1b769b72582b11e2b66b00e0814cab4e.nasl

版本: 1.5

类型: local

发布时间: 2013/1/7

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

支持的传感器: Nessus

漏洞信息

CPE: p-cpe:/a:freebsd:freebsd:django, p-cpe:/a:freebsd:freebsd:django13, cpe:/o:freebsd:freebsd

必需的 KB 项: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info

补丁发布日期: 2013/1/6

漏洞发布日期: 2012/12/10