Searched hist:b0519de8b3f1caf10632aca55def999ec2d2f1bc (Results 1 – 2 of 2) sorted by relevance
/openbmc/linux/tools/testing/selftests/net/mptcp/ |
H A D | mptcp_connect.c | diff b0519de8b3f1caf10632aca55def999ec2d2f1bc Wed Feb 05 17:39:37 CST 2020 Florian Westphal <fw@strlen.de> mptcp: fix use-after-free for ipv6
Turns out that when we accept a new subflow, the newly created inet_sk(tcp_sk)->pinet6 points at the ipv6_pinfo structure of the listener socket.
This wasn't caught by the selftest because it closes the accepted fd before the listening one.
adding a close(listenfd) after accept returns is enough: BUG: KASAN: use-after-free in inet6_getname+0x6ba/0x790 Read of size 1 at addr ffff88810e310866 by task mptcp_connect/2518 Call Trace: inet6_getname+0x6ba/0x790 __sys_getpeername+0x10b/0x250 __x64_sys_getpeername+0x6f/0xb0
also alter test program to exercise this.
Reported-by: Christoph Paasch <cpaasch@apple.com> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
|
/openbmc/linux/net/mptcp/ |
H A D | protocol.c | diff b0519de8b3f1caf10632aca55def999ec2d2f1bc Wed Feb 05 17:39:37 CST 2020 Florian Westphal <fw@strlen.de> mptcp: fix use-after-free for ipv6
Turns out that when we accept a new subflow, the newly created inet_sk(tcp_sk)->pinet6 points at the ipv6_pinfo structure of the listener socket.
This wasn't caught by the selftest because it closes the accepted fd before the listening one.
adding a close(listenfd) after accept returns is enough: BUG: KASAN: use-after-free in inet6_getname+0x6ba/0x790 Read of size 1 at addr ffff88810e310866 by task mptcp_connect/2518 Call Trace: inet6_getname+0x6ba/0x790 __sys_getpeername+0x10b/0x250 __x64_sys_getpeername+0x6f/0xb0
also alter test program to exercise this.
Reported-by: Christoph Paasch <cpaasch@apple.com> Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
|