An issue was discovered in net/ipv6/ip6mr.c in the Linux kernel before 4.11. By setting a specific socket option, an attacker can control a pointer in kernel land and cause an inetcsklistenstop general protection fault, or potentially execute arbitrary code under certain circumstances. The issue can be triggered as root (e.g., inside a default LXC container or with the CAPNETADMIN capability) or after namespace unsharing. This occurs because sktype and protocol are not checked in the appropriate part of the ip6mroute* functions. NOTE: this affects Linux distributions that use 4.9.x longterm kernels before 4.9.187.