Re: [PATCH] tcp: Restore RFC5961-compliant behavior for SYN packets

From: Eric Dumazet
Date: Thu Nov 20 2014 - 21:22:15 EST


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>

Thanks !


--
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/