Page MenuHomeFreeBSD

ipsec: plug use-after-free of SAH
AbandonedPublic

Authored by mjg on Sep 9 2022, 8:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 11, 12:14 PM
Unknown Object (File)
Fri, Apr 3, 4:44 AM
Unknown Object (File)
Sun, Mar 29, 6:34 PM
Unknown Object (File)
Thu, Mar 19, 3:45 AM
Unknown Object (File)
Jan 15 2026, 5:52 PM
Unknown Object (File)
Jan 13 2026, 12:53 AM
Unknown Object (File)
Jan 12 2026, 8:42 PM
Unknown Object (File)
Jan 7 2026, 8:39 PM
Subscribers

Details

Reviewers
ae
Group Reviewers
network
Summary
Change refcounting scheme to a more idiomatic approach: every
secasvar object keeps a ref to SAH which is only released when
the object goes away.

Plugs panics of the form:
panic: esp_input_cb: Unexpected address family: 0 saidx=0xfffffd001832a330

I validated this is the issue by neglecting to actually free anything on stock kernel and instead poisoning address family with a dedicated value, which did start showing up.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

mjg requested review of this revision.Sep 9 2022, 8:11 PM
mjg edited the summary of this revision. (Show Details)

I'll try to read the patch more carefully this weekend.

sys/netipsec/key.c
1371

The comment become stale.

5282

another stale comment.