mirror of https://github.com/OISF/suricata
stream: handle data on incomplete 3whs
If we have only seen the SYN and SYN/ACK of the 3whs, accept from server data if it perfectly matches the SEQ/ACK expectations. This might happen in 2 scenarios: 1. packet loss: if we lost the final ACK, we may get data that fits this pattern (e.g. a SMTP EHLO message). 2. MOTS/MITM packet injection: an attacker can send a data packet together with its SYN/ACK packet. The client due to timing almost certainly gets the SYN/ACK before considering the data packet, and will respond with the final ACK before processing the data packet. In IDS mode we will accept the data packet and rely on the reassembly engine to warn us if the packet was indeed injected. In IPS mode we will drop the packet. In the packet loss case we will rely on retransmissions to get the session back up and running. For the injection case we blocked this injection attempt.pull/3201/head
parent
e1ef57c848
commit
d1adf5f7e9
Loading…
Reference in New Issue