aboutsummaryrefslogtreecommitdiffstats
path: root/main/dnsmasq/CVE-2017-14492.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/dnsmasq/CVE-2017-14492.patch')
-rw-r--r--main/dnsmasq/CVE-2017-14492.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/main/dnsmasq/CVE-2017-14492.patch b/main/dnsmasq/CVE-2017-14492.patch
new file mode 100644
index 0000000000..152c677aa5
--- /dev/null
+++ b/main/dnsmasq/CVE-2017-14492.patch
@@ -0,0 +1,30 @@
+From 24036ea507862c7b7898b68289c8130f85599c10 Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Mon, 25 Sep 2017 18:47:15 +0100
+Subject: [PATCH] Security fix, CVE-2017-14492, DHCPv6 RA heap overflow.
+
+Fix heap overflow in IPv6 router advertisement code.
+This is a potentially serious security hole, as a
+crafted RA request can overflow a buffer and crash or
+control dnsmasq. Attacker must be on the local network.
+---
+ src/radv.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/radv.c b/src/radv.c
+index 1032189..9b7e52c 100644
+--- a/src/radv.c
++++ b/src/radv.c
+@@ -198,6 +198,9 @@ void icmp6_packet(time_t now)
+ /* look for link-layer address option for logging */
+ if (sz >= 16 && packet[8] == ICMP6_OPT_SOURCE_MAC && (packet[9] * 8) + 8 <= sz)
+ {
++ if ((packet[9] * 8 - 2) * 3 - 1 >= MAXDNAME) {
++ return;
++ }
+ print_mac(daemon->namebuff, &packet[10], (packet[9] * 8) - 2);
+ mac = daemon->namebuff;
+ }
+--
+2.9.5
+