]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r337782:
authorjtl <jtl@FreeBSD.org>
Tue, 14 Aug 2018 18:06:59 +0000 (18:06 +0000)
committerjtl <jtl@FreeBSD.org>
Tue, 14 Aug 2018 18:06:59 +0000 (18:06 +0000)
commitd85d7540a7fc2cf733c4a655a4c9b28fb6acf42c
treeba0f2364a6949575e4f4cabac8d7cc53c4a34b32
parent54c1ac1408df4b7b0186933e804da8a5a622c24f
MFC r337782:
  Add a limit of the number of fragments per IPv6 packet.

  The IPv4 fragment reassembly code supports a limit on the number of
  fragments per packet. The default limit is currently 17 fragments.
  Among other things, this limit serves to limit the number of fragments
  the code must parse when trying to reassembly a packet.

  Add a limit to the IPv6 reassembly code. By default, limit a packet
  to 65 fragments (64 on the queue, plus one final fragment to complete
  the packet). This allows an average fragment size of 1,008 bytes, which
  should be sufficient to hold a fragment. (Recall that the IPv6 minimum
  MTU is 1280 bytes. Therefore, this configuration allows a full-size
  IPv6 packet to be fragmented on a link with the minimum MTU and still
  carry approximately 272 bytes of headers before the fragmented portion
  of the packet.)

  Users can adjust this limit using the net.inet6.ip6.maxfragsperpacket
  sysctl.

Approved by: so
Security: FreeBSD-SA-18:10.ip
Security: CVE-2018-6923
sys/netinet6/frag6.c
sys/netinet6/in6.h
sys/netinet6/in6_proto.c
sys/netinet6/ip6_var.h