The ip_expire function in net/ipv4/ip_fragment.c in the Linux kernel before 2.6.39 does not properly construct ICMP_TIME_EXCEEDED packets after a timeout, which allows remote attackers to cause a denial of service (invalid pointer dereference) via crafted fragmented packets.
http://www.openwall.com/lists/oss-security/2011/05/18/2
http://ftp.osuosl.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39