You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(protocols): a non-first IPv6 fragment's data is dissected as an upper-layer header #1545
On mainb6b95bc8e, the default engine dissects the data of a non-first IPv6 fragment as if it began with the header named in the Fragment header's Next Header field.
Frag(offset > 0) + TCP does the same (Frag:TCP:Raw), so TCP flow tracing and reassembly can ingest garbage segments.
RFC 8200 §4.5: subsequent fragments carry the Per-Fragment headers, the Fragment header, then "the fragment itself", a slice of the Fragmentable Part. No header begins there. The Next Header field names the first header of the Fragmentable Part, which is only in the first fragment.
Expected: after a Fragment header with offset > 0, the remainder is opaque payload (Raw), not a parsed upper layer. This changes the sample digests for frames 14–16, deliberately.
The #1540 worker and its reviewer found this; I re-derived it on a git archive of main.
Activity
JarryShaw commentedon Oct 10, 2026
Blocked until #1540 merges, since both change the fragment walk in
pcapkit/protocols/internet/ipv6.py.JarryShaw commentedon Oct 10, 2026
Unblocked: #1540 has merged (
f4243bcbb). A worker is on the fix inpcapkit/protocols/internet/ipv6.py.fix(protocols): a later IPv6 fragment's data is raw, not an upper-lay…
fix(protocols): a later IPv4 fragment's data is raw, not an upper-lay…