diff options
author | Eric Dumazet <[email protected]> | 2018-08-22 13:30:45 -0700 |
---|---|---|
committer | David S. Miller <[email protected]> | 2018-08-22 21:42:58 -0700 |
commit | 431280eebed9f5079553daf003011097763e71fd (patch) | |
tree | 13f7bee9436e2ab1ca9b6d2b14b8b7fe66da4f28 /tools/perf/scripts/python/call-graph-from-sql.py | |
parent | e500c6d349f7f36120886841c6f057ce248b48b2 (diff) |
ipv4: tcp: send zero IPID for RST and ACK sent in SYN-RECV and TIME-WAIT state
tcp uses per-cpu (and per namespace) sockets (net->ipv4.tcp_sk) internally
to send some control packets.
1) RST packets, through tcp_v4_send_reset()
2) ACK packets in SYN-RECV and TIME-WAIT state, through tcp_v4_send_ack()
These packets assert IP_DF, and also use the hashed IP ident generator
to provide an IPv4 ID number.
Geoff Alexander reported this could be used to build off-path attacks.
These packets should not be fragmented, since their size is smaller than
IPV4_MIN_MTU. Only some tunneled paths could eventually have to fragment,
regardless of inner IPID.
We really can use zero IPID, to address the flaw, and as a bonus,
avoid a couple of atomic operations in ip_idents_reserve()
Signed-off-by: Eric Dumazet <[email protected]>
Reported-by: Geoff Alexander <[email protected]>
Tested-by: Geoff Alexander <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-sql.py')
0 files changed, 0 insertions, 0 deletions