Mail archive
alpine-aports

[alpine-aports] [PATCH] 2.7-stable/main/django: security fix CVE-2015-8213

From: Christian Kampka <christian_at_kampka.net>
Date: Sun, 29 Nov 2015 10:45:50 +0100

Fixed a settings leak possibility in the date template filter.
---
 main/py-django/APKBUILD            | 27 +++++++++++++++------
 main/py-django/CVE-2015-8213.patch | 49 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 7 deletions(-)
 create mode 100644 main/py-django/CVE-2015-8213.patch
diff --git a/main/py-django/APKBUILD b/main/py-django/APKBUILD
index c69947e..f6e49c4 100644
--- a/main/py-django/APKBUILD
+++ b/main/py-django/APKBUILD
_at_@ -3,17 +3,28 @@
 pkgname=py-django
 _pkgname=Django
 pkgver=1.5.10
-pkgrel=0
+pkgrel=1
 pkgdesc="A high-level Python Web framework"
 url="http://djangoproject.com/"
 arch="noarch"
 license="BSD"
 depends="python"
 depends_dev=""
-makedepends="python-dev"
+makedepends="python-dev py-setuptools"
 install=""
 subpackages=""
-source="http://pypi.python.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+source="http://pypi.python.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+	CVE-2015-8213.patch
+	"
+
+prepare() {
+	cd "$srcdir"/Django-$pkgver
+	for i in $source; do
+	case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
 
 _builddir="$srcdir"/$_pkgname-$pkgver
 build() {
_at_@ -25,7 +36,9 @@ package() {
 	cd "$_builddir"
 	python setup.py install --root "$pkgdir" || return 1
 }
-
-md5sums="b055361f04c0b8e862f8e8ffbb44e464  Django-1.5.10.tar.gz"
-sha256sums="7cb4217e740f7d5d6d74617dbb9d960f9c09e8269c6762fe68c6e762219f4018  Django-1.5.10.tar.gz"
-sha512sums="5357116870370f7fd06f77e5bfad98f89c6bb131eb2828ded524422d0690d8842c3106e4e92614c374ab2549d205e77c98e4071894f0625dfe69a382171b1834  Django-1.5.10.tar.gz"
+md5sums="b055361f04c0b8e862f8e8ffbb44e464  Django-1.5.10.tar.gz
+b8697fd93d0b76ae660314b45b65621a  CVE-2015-8213.patch"
+sha256sums="7cb4217e740f7d5d6d74617dbb9d960f9c09e8269c6762fe68c6e762219f4018  Django-1.5.10.tar.gz
+0a7e614cc5efac9edaebaad06dce4ad45bf670ab24aceb168ee5c6735f8c8231  CVE-2015-8213.patch"
+sha512sums="5357116870370f7fd06f77e5bfad98f89c6bb131eb2828ded524422d0690d8842c3106e4e92614c374ab2549d205e77c98e4071894f0625dfe69a382171b1834  Django-1.5.10.tar.gz
+15598c2de79bcc1f2e0f48ef95ec294b38f9c11affad4cfd6401825daa6be4a4e5eef5af54bab05824b1155b6dd9203c5fde294dbb7ce83b847b0d2315251909  CVE-2015-8213.patch"
diff --git a/main/py-django/CVE-2015-8213.patch b/main/py-django/CVE-2015-8213.patch
new file mode 100644
index 0000000..54fe8c2
--- /dev/null
+++ b/main/py-django/CVE-2015-8213.patch
_at_@ -0,0 +1,49 @@
+From 316bc3fc9437c5960c24baceb93c73f1939711e4 Mon Sep 17 00:00:00 2001
+From: Florian Apolloner <florian_at_apolloner.eu>
+Date: Wed, 11 Nov 2015 20:10:55 +0100
+Subject: [PATCH] Fixed a settings leak possibility in the date template
+ filter.
+
+This is a security fix.
+---
+ django/utils/formats.py  | 20 ++++++++++++++++++++
+ 1 files changed, 20 insertions(+), 0 deletions(-)
+
+diff --git a/django/utils/formats.py b/django/utils/formats.py
+index d2bdda4..8334682 100644
+--- a/django/utils/formats.py
++++ b/django/utils/formats.py
+_at_@ -30,6 +30,24 @@
+ }
+
+
++FORMAT_SETTINGS = frozenset([
++    'DECIMAL_SEPARATOR',
++    'THOUSAND_SEPARATOR',
++    'NUMBER_GROUPING',
++    'FIRST_DAY_OF_WEEK',
++    'MONTH_DAY_FORMAT',
++    'TIME_FORMAT',
++    'DATE_FORMAT',
++    'DATETIME_FORMAT',
++    'SHORT_DATE_FORMAT',
++    'SHORT_DATETIME_FORMAT',
++    'YEAR_MONTH_FORMAT',
++    'DATE_INPUT_FORMATS',
++    'TIME_INPUT_FORMATS',
++    'DATETIME_INPUT_FORMATS',
++])
++
++
+ def reset_format_cache():
+     """Clear any cached formats.
+
+_at_@ -92,6 +110,8 @@ def get_format(format_type, lang=None, use_l10n=None):
+     be localized (or not), overriding the value of settings.USE_L10N.
+     """
+     format_type = force_str(format_type)
++    if format_type not in FORMAT_SETTINGS:
++        return format_type
+     if use_l10n or (use_l10n is None and settings.USE_L10N):
+         if lang is None:
+             lang = get_language()
-- 
2.6.2
---
Unsubscribe:  alpine-aports+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-aports+help_at_lists.alpinelinux.org
---
Received on Sun Nov 29 2015 - 10:45:50 GMT