The do_tcp_setsockopt function in net/ipv4/tcp.c in the Linux kernel before 2.6.37-rc2 does not properly restrict TCP_MAXSEG (aka MSS) values, which allows local users to cause a denial of service (OOPS) via a setsockopt call that specifies a small value, leading to a divide-by-zero error or incorrect use of a signed integer.
https://bugzilla.redhat.com/show_bug.cgi?id=652508
http://www.vupen.com/english/advisories/2011/0298
http://www.vupen.com/english/advisories/2011/0124
http://www.vupen.com/english/advisories/2011/0012
http://www.spinics.net/lists/netdev/msg146495.html
http://www.spinics.net/lists/netdev/msg146405.html
http://www.securityfocus.com/bid/44830
http://www.openwall.com/lists/oss-security/2010/11/12/4
http://www.openwall.com/lists/oss-security/2010/11/12/1
http://www.mandriva.com/security/advisories?name=MDVSA-2011:051
http://www.mandriva.com/security/advisories?name=MDVSA-2011:029
http://secunia.com/advisories/42932
http://secunia.com/advisories/42801
http://secunia.com/advisories/42778
http://lists.opensuse.org/opensuse-security-announce/2011-02/msg00000.html
http://lists.opensuse.org/opensuse-security-announce/2011-01/msg00004.html
http://lists.opensuse.org/opensuse-security-announce/2011-01/msg00001.html
http://lists.opensuse.org/opensuse-security-announce/2011-01/msg00000.html