Red Hat Bugzilla – Bug 243258
CVE-2007-1592 IPv6 oops triggerable by any user
Last modified: 2016-05-19 12:46:27 EDT
We accidently copy the ipv6 flow list to child sockets of listening TCP
sockets, but don't bump the reference count, clone the object, etc. And
the list linkage of this object is not built such that multiple sockets
can point to it anyways.
Therefore if a listening socket has a flow list attached, when a child
connection closes we'll OOPS or double free the flow list entry.
Any user can trigger this.
Steps to reproduce this behavior:
1) Open listening IPV6 TCP socket
2) Attach a flowlabel with IPV6_FLOWLABEL_MGR socket option,
freq->flr_action == IPV6_FL_A_GET and appropriate metadata.
3) Connect to that listening socket, and close()