]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r337775:
authorjtl <jtl@FreeBSD.org>
Tue, 14 Aug 2018 17:43:11 +0000 (17:43 +0000)
committerjtl <jtl@FreeBSD.org>
Tue, 14 Aug 2018 17:43:11 +0000 (17:43 +0000)
commitf0d4e7bdc43c2e330df8bf6cb1fca39295403ffd
tree05d5adbc827d78be62b64ddd0a38859163c34f67
parent1c2fe405dd6d43e5ce3e94cb09ebba4fb7007792
MFC r337775:
  Improve hashing of IPv4 fragments.

  Currently, IPv4 fragments are hashed into buckets based on a 32-bit
  key which is calculated by (src_ip ^ ip_id) and combined with a random
  seed. However, because an attacker can control the values of src_ip
  and ip_id, it is possible to construct an attack which causes very
  deep chains to form in a given bucket.

  To ensure more uniform distribution (and lower predictability for
  an attacker), calculate the hash based on a key which includes all
  the fields we use to identify a reassembly queue (dst_ip, src_ip,
  ip_id, and the ip protocol) as well as a random seed.

Security: FreeBSD-SA-18:10.ip
Security: CVE-2018-6923
sys/netinet/ip_reass.c