• E
    tcp: tcp_replace_ts_recent() should not be called from tcp_validate_incoming() · bd090dfc
    Eric Dumazet 提交于
    We added support for RFC 5961 in latest kernels but TCP fails
    to perform exhaustive check of ACK sequence.
    
    We can update our view of peer tsval from a frame that is
    later discarded by tcp_ack()
    
    This makes timestamps enabled sessions vulnerable to injection of
    a high tsval : peers start an ACK storm, since the victim
    sends a dupack each time it receives an ACK from the other peer.
    
    As tcp_validate_incoming() is called before tcp_ack(), we should
    not peform tcp_replace_ts_recent() from it, and let callers do it
    at the right time.
    Signed-off-by: NEric Dumazet <edumazet@google.com>
    Cc: Neal Cardwell <ncardwell@google.com>
    Cc: Yuchung Cheng <ycheng@google.com>
    Cc: Nandita Dukkipati <nanditad@google.com>
    Cc: H.K. Jerry Chu <hkchu@google.com>
    Cc: Romain Francoise <romain@orebokech.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    bd090dfc
tcp_input.c 174.8 KB