The pingunhash function in net/ipv4/ping.c in the Linux kernel before 4.0.3 does not initialize a certain list data structure during an unhash operation, which allows local users to gain privileges or cause a denial of service (use-after-free and system crash) by leveraging the ability to make a SOCKDGRAM socket system call for the IPPROTOICMP or IPPROTOICMPV6 protocol, and then making a connect system call after a disconnect.