Re: [PATCH] tcp: Restore RFC5961-compliant behavior for SYN packets
From: David Miller
Date: Fri Nov 21 2014 - 15:34:46 EST
From: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date: Thu, 20 Nov 2014 18:22:07 -0800
> On Thu, 2014-11-20 at 17:47 -0800, Calvin Owens wrote:
>
>> That's actually not what led to finding this, but it's a good point. :)
>>
>> What if the challenge-ACK counter were decremented in tcp_validate_incoming()
>> when a valid RST packet is seen? That would allow legitimate remote
>> hosts to reestablish connections without being ratelimited, and still
>> prevent a malicious host from guessing sequence numbers.
>>
>> There would need to be a way to tell if a challenge ACK had in fact been
>> sent and only decrement in that case, since otherwise a local attacker
>> could establish and immediately reset lots of connections to keep the
>> counter below the ratelimit threshold and guess sequence numbers.
>>
>> Simply adding a flag to struct tcp_sock would work: just set the flag
>> whenever a challenge ACK is sent, and clear it and decrement the counter
>> only if it is set when a valid RST packet is seen.
>
> Seems tricky, a Challenge ACK do not necessarily gives an RST.
>
> Anyway this certainly can wait, as we already have a sysctl to
> eventually work around the issue.
>
> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Applied, thanks everyone.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/