]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
* CVE-2014-7821: DoS through invalid DNS configuration. Applied upstream
authorThomas Goirand <thomas@goirand.fr>
Fri, 21 Nov 2014 08:42:14 +0000 (16:42 +0800)
committerThomas Goirand <thomas@goirand.fr>
Fri, 21 Nov 2014 08:42:14 +0000 (16:42 +0800)
    patch: Fix hostname regex pattern (Closes: #770431).

Rewritten-From: 5df6a8f5ed4548b80cb92a040f4f823c3809f8ee

trusty/debian/changelog
trusty/debian/patches/cve-2014-7821_DoS_through_invalid_DNS_configuration_juno.patch [new file with mode: 0644]
trusty/debian/patches/series

index 552471fff5aaa6b5191fbd0e50d84b893eca744d..f8c2bffc3d44c52ba9677986261a8f19c254eb18 100644 (file)
@@ -1,3 +1,10 @@
+neutron (2014.2-4) experimental; urgency=medium
+
+  * CVE-2014-7821: DoS through invalid DNS configuration. Applied upstream
+    patch: Fix hostname regex pattern (Closes: #770431).
+
+ -- Thomas Goirand <zigo@debian.org>  Fri, 21 Nov 2014 16:39:03 +0800
+
 neutron (2014.2-3) experimental; urgency=medium
 
   * Patches the ml2 plugin ini file to be like the install-guide by default.
diff --git a/trusty/debian/patches/cve-2014-7821_DoS_through_invalid_DNS_configuration_juno.patch b/trusty/debian/patches/cve-2014-7821_DoS_through_invalid_DNS_configuration_juno.patch
new file mode 100644 (file)
index 0000000..1c1dc75
--- /dev/null
@@ -0,0 +1,40 @@
+Description: CVE-2014-7821: Fix hostname regex pattern
+ Current hostname_pattern regex complexity grows exponentially when given a
+ string of just digits, which can be exploited to cause neutron-server to
+ freeze.
+Author: John Perkins <john.perkins@rackspace.com>
+Origin: https://review.openstack.org/#/c/135623/
+X-Git-Url: https://review.openstack.org/gitweb?p=openstack%2Fneutron.git;a=commitdiff_plain;h=ad6fefcb4d4068b46b69284e277df6ab2ee30105
+Date: Mon, 6 Oct 2014 21:24:57 +0000 (-0500)
+Change-Id: I886c6d883a9cb0acd9908495eec50bf0411d8ba8
+Bug-Ubuntu:: https://launchpad.net/bugs/1378450
+Bug-Debian: https://bugs.debian.org/770431
+Last-Update: 2014-11-21
+
+diff --git a/neutron/api/v2/attributes.py b/neutron/api/v2/attributes.py
+index 83471f9..21486db 100644
+--- a/neutron/api/v2/attributes.py
++++ b/neutron/api/v2/attributes.py
+@@ -540,8 +540,8 @@ def convert_to_list(data):
+         return [data]
+-HOSTNAME_PATTERN = ("(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]"
+-                    "{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$)")
++HOSTNAME_PATTERN = ("(?=^.{1,254}$)(^(?:(?!\d+.|-)[a-zA-Z0-9_\-]{1,62}"
++                    "[a-zA-Z0-9]\.?)+(?:[a-zA-Z]{2,})$)")
+ HEX_ELEM = '[0-9A-Fa-f]'
+ UUID_PATTERN = '-'.join([HEX_ELEM + '{8}', HEX_ELEM + '{4}',
+diff --git a/neutron/tests/unit/test_attributes.py b/neutron/tests/unit/test_attributes.py
+index 2fb268d..f8cb462 100644
+--- a/neutron/tests/unit/test_attributes.py
++++ b/neutron/tests/unit/test_attributes.py
+@@ -281,6 +281,7 @@ class TestAttributes(base.BaseTestCase):
+                     ['www.hostname.com', 'www.hostname.com'],
+                     ['77.hostname.com'],
+                     ['1000.0.0.1'],
++                    ['111111111111111111111111111111111111111111111111111111111111'],  # noqa
+                     None]
+         for ns in ns_pools:
index 72d5d2003955a50b8ec95eec260e448508682705..dd649259bb79b98f0dffcd7cfbcac432e77f789c 100644 (file)
@@ -3,3 +3,4 @@ better-config-default.patch
 fix-alembic-migrations-with-sqlite.patch
 working-ml2-defaults.patch
 defaults-closer-to-install-guide.patch
+cve-2014-7821_DoS_through_invalid_DNS_configuration_juno.patch