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)
Fri, May 8, 12:31 AM
Unknown Object (File)
Tue, May 5, 11:46 PM
Unknown Object (File)
Mon, May 4, 2:36 PM
Unknown Object (File)
Sat, May 2, 10:48 PM
Unknown Object (File)
Thu, Apr 30, 8:31 AM
Unknown Object (File)
Tue, Apr 28, 8:15 AM
Unknown Object (File)
Thu, Apr 23, 9:16 AM
Unknown Object (File)
Thu, Apr 23, 12:41 AM
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.