Page MenuHomeFreeBSD

pf tests: test IPv6 fragmentation with link-local addresses
ClosedPublic

Authored by kp on Mar 13 2023, 5:19 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sep 27 2024, 8:50 PM
Unknown Object (File)
Sep 17 2024, 8:00 AM
Unknown Object (File)
Sep 4 2024, 5:51 AM
Unknown Object (File)
Sep 2 2024, 4:45 PM
Unknown Object (File)
Jul 26 2024, 2:05 PM
Unknown Object (File)
Jul 18 2024, 6:05 AM
Unknown Object (File)
Jul 7 2024, 9:32 AM
Unknown Object (File)
Jul 1 2024, 11:23 PM

Details

Summary

We've observed a panic after pf_refragment6() with link-local addresses,
because pf_refragment6() calls ip6_forward() even for a simple output
case.
That results in us entering ip6_forward() with an mbuf with a NULL
m->m_pkthdr.rcvif, which can cause a NULL deref (but seemingly not for
GUAs.

Test sending fragmented link-local packets to pf.

MFC after: 3 days
Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 50330
Build 47222: arc lint + arc unit

Event Timeline

kp requested review of this revision.Mar 13 2023, 5:19 PM
jlduran added inline comments.
tests/sys/netpfil/pf/fragmentation.sh
128

While ping6 is still a thing, I would humbly advise to use ping -6 instead.

This revision was not accepted when it landed; it landed in state Needs Review.Mar 16 2023, 10:01 AM
This revision was automatically updated to reflect the committed changes.