[linux] 02/03: netfilter: x_tables: check for size overflow (CVE-2016-3135)

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Thu Mar 17 01:56:32 UTC 2016


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch sid
in repository linux.

commit 37886b6ea3146b3bd8da4706e1ecac119bb597b2
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Thu Mar 17 01:15:05 2016 +0000

    netfilter: x_tables: check for size overflow (CVE-2016-3135)
---
 debian/changelog                                   |  1 +
 ...etfilter-x_tables-check-for-size-overflow.patch | 29 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 3 files changed, 31 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index dd6475e..fea1085 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -129,6 +129,7 @@ linux (4.4.6-1) UNRELEASED; urgency=medium
     - [mips*] smp.c: Fix uninitialised temp_foreign_map
     - block: don't optimize for non-cloned bio in bio_get_last_bvec()
     - target: Drop incorrect ABORT_TASK put for completed commands
+  * netfilter: x_tables: check for size overflow (CVE-2016-3135)
 
   [ Ian Campbell ]
   * [arm64] Enable ARCH_HISI (Hisilicon) and the set of currently available
diff --git a/debian/patches/bugfix/all/netfilter-x_tables-check-for-size-overflow.patch b/debian/patches/bugfix/all/netfilter-x_tables-check-for-size-overflow.patch
new file mode 100644
index 0000000..914a9f0
--- /dev/null
+++ b/debian/patches/bugfix/all/netfilter-x_tables-check-for-size-overflow.patch
@@ -0,0 +1,29 @@
+From: Florian Westphal <fw at strlen.de>
+Date: Thu, 10 Mar 2016 01:56:23 +0100
+Subject: netfilter: x_tables: check for size overflow
+Origin: https://git.kernel.org/cgit/linux/kernel/git/pablo/nf-next.git/commit?id=d157bd761585605b7882935ffb86286919f62ea1
+
+Ben Hawkes says:
+ integer overflow in xt_alloc_table_info, which on 32-bit systems can
+ lead to small structure allocation and a copy_from_user based heap
+ corruption.
+
+Reported-by: Ben Hawkes <hawkes at google.com>
+Signed-off-by: Florian Westphal <fw at strlen.de>
+Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
+---
+ net/netfilter/x_tables.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/net/netfilter/x_tables.c
++++ b/net/netfilter/x_tables.c
+@@ -658,6 +658,9 @@ struct xt_table_info *xt_alloc_table_inf
+ 	struct xt_table_info *info = NULL;
+ 	size_t sz = sizeof(*info) + size;
+ 
++	if (sz < sizeof(*info))
++		return NULL;
++
+ 	/* Pedantry: prevent them from hitting BUG() in vmalloc.c --RR */
+ 	if ((SMP_ALIGN(size) >> PAGE_SHIFT) + 2 > totalram_pages)
+ 		return NULL;
diff --git a/debian/patches/series b/debian/patches/series
index d2f8734..6f300e2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -137,3 +137,4 @@ debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch
 debian/module-fix-abi-change-in-4.4.5.patch
 bugfix/x86/x86-efi-fix-boot-crash-by-always-mapping-boot-servic.patch
 bugfix/x86/x86-mm-pat-fix-boot-crash-when-1gb-pages-are-not-supported.patch
+bugfix/all/netfilter-x_tables-check-for-size-overflow.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list