On Mon, 2017-12-11 at 00:05 -0800, Christoph Paasch wrote: > The MD5-key that belongs to a connection is identified by the peer's > IP-address. When we are in tcp_v4(6)_reqsk_send_ack(), we are > replying > to an incoming segment from tcp_check_req() that failed the seq- > number > checks. > > Thus, to find the correct key, we need to use the skb's saddr and not > the daddr. > > This bug seems to have been there since quite a while, but probably > got > unnoticed because the consequences are not catastrophic. We will call > tcp_v4_reqsk_send_ack only to send a challenge-ACK back to the peer, > thus the connection doesn't really fail. > > Fixes: 9501f9722922 ("tcp md5sig: Let the caller pass appropriate key > for tcp_v{4,6}_do_calc_md5_hash().") > Signed-off-by: Christoph Paasch <cpaa...@apple.com> > --- > net/ipv4/tcp_ipv4.c | 2 +- > net/ipv6/tcp_ipv6.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Eric Dumazet <eduma...@google.com> Thanks !