commit 4571b5f4243c93d897873bf58b1f9a5c8d724f88 Author: Paul Jakma Date: Mon Oct 17 11:57:21 2016 +0100 release: Bump version to 1.0.20161017 commit ba3859c5121608437116bcc24d475bff95224aff Author: Christian Franke Date: Tue Jun 14 20:07:06 2016 +0200 isisd: Fix size of malloc Signed-off-by: Christian Franke Signed-off-by: Christian Franke Acked-by: Donald Sharp commit f7144b2d404476e294a61bfa5a364ab0581939f7 Author: Christian Franke Date: Tue Jun 14 20:07:05 2016 +0200 isisd: fix an error that was probably a result of copypasting The code should check for the existance of the correct list prior to accessing it. Signed-off-by: Christian Franke Signed-off-by: Christian Franke Acked-by: Donald Sharp commit 21dd85d4db7ea4e9e716f0f662c35f0f5b745dc6 Author: Christian Franke Date: Tue Jun 14 20:07:04 2016 +0200 ospf6d: fix off-by-one on display of spf reasons The loop should only iterate to array_size - 1. Signed-off-by: Christian Franke Signed-off-by: Christian Franke Acked-by: Donald Sharp commit 85e822164aeaffb9b102628c10996d776f97be80 Author: Christian Franke Date: Tue Jun 14 20:07:03 2016 +0200 ospf6d: don't access nexthops out of bounds Given that the && is evaluated lazily from left to right, i < OSPF6_MULTI_PATH_LIMIT should be checked prior to calling ospf6_nexthop_is_set on the array element, not the other way around. Signed-off-by: Christian Franke Signed-off-by: Christian Franke Acked-by: Donald Sharp commit 7df96b19b976c99966f7f9669e09c2a240278b88 Author: Christian Franke Date: Tue Jun 14 20:07:00 2016 +0200 bgpd: fix off-by-one in attribute flags handling bgp_attr_flag_invalid can access beyond the last element of attr_flags_values. Fix this by initializing attr_flags_values_max to the correct value. Signed-off-by: Christian Franke Signed-off-by: Christian Franke Acked-by: Donald Sharp commit 23ed2c2fb49b8a15ad125b16278e535719d64e7d Author: David Lamparter Date: Wed Aug 31 13:31:16 2016 +0200 zebra: stack overrun in IPv6 RA receive code (CVE-2016-1245) The IPv6 RA code also receives ICMPv6 RS and RA messages. Unfortunately, by bad coding practice, the buffer size specified on receiving such messages mixed up 2 constants that in fact have different values. The code itself has: #define RTADV_MSG_SIZE 4096 While BUFSIZ is system-dependent, in my case (x86_64 glibc): /usr/include/_G_config.h:#define _G_BUFSIZ 8192 /usr/include/libio.h:#define _IO_BUFSIZ _G_BUFSIZ /usr/include/stdio.h:# define BUFSIZ _IO_BUFSIZ FreeBSD, OpenBSD, NetBSD and Illumos are not affected, since all of them have BUFSIZ == 1024. As the latter is passed to the kernel on recvmsg(), it's possible to overwrite 4kB of stack -- with ICMPv6 packets that can be globally sent to any of the system's addresses (using fragmentation to get to 8k). (The socket has filters installed limiting this to RS and RA packets, but does not have a filter for source address or TTL.) Issue discovered by trying to test other stuff, which randomly caused the stack to be smaller than 8kB in that code location, which then causes the kernel to report EFAULT (Bad address). Signed-off-by: David Lamparter Reviewed-by: Donald Sharp commit 7da28be5bafb31af75f796abb04aa1d09276d66d Author: Evgeny Uskov Date: Wed Jan 13 13:58:00 2016 +0300 bgpd: Fix buffer overflow error in bgp_dump_routes_func Now if the number of entries for some prefix is too large, multiple TABLE_DUMP_V2 records are created. In the previous version in such situation bgpd crashed with SIGABRT.