Debian DLA-143-1:python-django セキュリティ更新

medium Nessus プラグイン ID 82126

概要

リモートの Debian ホストにセキュリティ更新がありません。

説明

Django で複数のセキュリティ問題が見つかりました:
https://www.djangoproject.com/weblog/2015/jan/13/security/

Debian 6 Squeeeze では、これらは、バージョン 1.2.3-3+squeeze12 of python-django で修正されています。ここに、それらの問題に関して Upstream 開発者が言うべきことが記載されています:

CVE-2015-0219 - アンダースコア/ダッシュ合成を介する WSGI ヘッダーのなりすまし

HTTP ヘッダーが WSGI 環境に配置される場合、大文字に変換すること、すべてのダッシュを下線に変換することで正規化され、HTTP_ が仮装されます。たとえば、WSGI 環境ではヘッダー X-Auth-Use は、HTTP_X_AUTH_USER となります(またこのため Django の request.META 辞書でもこうなります)。

残念ながら、これは、WSGI 環境はダッシュを含むヘッダーと下線を含むヘッダーを区別できないことを意味します。つまり 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() や i18n など)ユーザー入力に依存して、ユーザーを「成功時の」URL にリダイレクトします。これらのリダイレクト用のセキュリティチェック(すなわち django.util.http.is_safe_url())では、テストされた URL の先行する空白を取り去らず、「\njavascript:...」などの URL が安全であると見なされていました。
開発者が is_safe_url() に依存して安全なリダイレクトターゲットを提供し、こうした URL をリンクにプッシュする場合、XSS 攻撃を受ける可能性がありました。我々はこの URL を Location 応答ヘッダーのみに配置し、ブラウザはそこの JavaScript を無視するようなので、このバグは現在 Django に影響しません。

CVE-2015-0221 - django.views.static.serve に対する DoS 攻撃(サービス拒否攻撃)

Django のより古いバージョンでは、django.views.static.serve() ビューが、それが提供したファイルを一度に 1 行ずつ読み取ります。このため、改行のない大きなファイルでは、メモリ使用量がそのファイルのサイズに等しくなります。
攻撃者がこの攻撃を悪用して、多くの大きなファイルを同時にリクエストすることで、DoS 攻撃(サービス拒否攻撃)を実行する可能性がありました。このビューは今ではファイルをチャンクで読み取るため、大きなメモリ使用が回避されています。

注意:ただし、このビューは常に警告を表示し、実稼働使用のために強化されておらず、開発支援のみで使用すべきことが示されます。まだそうしていないなら、今はプロジェクトを監査して、実際のフロントエンド 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