In Weave Net before version 2.6.3, an attacker able to run a process as root in a container is able to respond to DNS requests from the host and thereby insert themselves as a fake service. In a cluster with an IPv4 internal network, if IPv6 is not totally disabled on the host (via ipv6.disable=1 on the kernel cmdline), it will be either unconfigured or configured on some interfaces, but it's pretty likely that ipv6 forwarding is disabled, ie /proc/sys/net/ipv6/conf//forwarding == 0. Also by default, /proc/sys/net/ipv6/conf//accept_ra == 1. The combination of these 2 sysctls means that the host accepts router advertisements and configure the IPv6 stack using them. By sending rogue router advertisements, an attacker can reconfigure the host to redirect part or all of the IPv6 traffic of the host to the attacker controlled container. Even if there was no IPv6 traffic before, if the DNS returns A (IPv4) and AAAA (IPv6) records, many HTTP libraries will try to connect via IPv6 first then fallback to IPv4, giving an opportunity to the attacker to respond. If by chance you also have on the host a vulnerability like last year's RCE in apt (CVE-2019-3462), you can now escalate to the host. Weave Net version 2.6.3 disables the accept_ra option on the veth devices that it creates.
En Weave Net versiones anteriores a 2.6.3, un atacante capaz de ejecutar un proceso como root en un contenedor puede responder a las peticiones DNS del host y, por lo tanto, insertarse como un servicio falso. En un clúster con una red interna IPv4, si IPv6 no está totalmente deshabilitado en el host (por medio de ipv6.disable=1 en el cmdline del kernel), no estará desconfigurado o configurado en algunas interfaces, pero es muy probable que el reenvío ipv6 este deshabilitado, es decir, /proc/sys/net/ipv6/conf//forwarding == 0. También por defecto, /proc/sys/net/ipv6/conf//accept_ra == 1. La combinación de estos 2 sysctls significa que el host acepta anuncios de enrutadores y configura la pila IPv6 usándolos. Mediante el envío de anuncios de enrutadores maliciosos, un atacante puede reconfigurar el host para redireccionar parte o la totalidad del tráfico IPv6 del host hacia un contenedor controlado por el atacante. Incluso si antes no había tráfico IPv6, si el DNS devuelve registros A (IPv4) y AAAA (IPv6), muchas bibliotecas HTTP intentarán conectarse primero por medio de IPv6 y luego recurrirán a IPv4, dando una oportunidad al atacante para responder. Si por casualidad también se presentarán en el host una vulnerabilidad como RCE del año pasado en apt (CVE-2019-3462), ahora puede escalar al host. Weave Net versión 2.6.3 deshabilita la opción accept_ra en los dispositivos veth que crea