Page MenuHomeFreeBSD

ipsec: Validate the protocol identifier in ipsec4_ctlinput()
ClosedPublic

Authored by markj on Sep 9 2021, 5:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Aug 19, 11:35 AM
Unknown Object (File)
Tue, Aug 18, 5:07 PM
Unknown Object (File)
Mon, Aug 17, 2:00 PM
Unknown Object (File)
Wed, Aug 12, 5:32 AM
Unknown Object (File)
Tue, Aug 11, 10:54 PM
Unknown Object (File)
Tue, Aug 11, 10:52 PM
Unknown Object (File)
Tue, Aug 11, 1:46 AM
Unknown Object (File)
Tue, Aug 11, 1:19 AM
Subscribers

Details

Summary

key_allocsa() expects to handle only IPSec protocols and has an
assertion to this effect. However, ipsec4_ctlinput() has to handle
messages from ICMP unreachable packets and was not validating the
protocol number. In practice I believe such a packet would simply fail
to match any SADB entries and would thus be ignored.

Reported by: syzbot+6a9ef6fcfadb9f3877fe@syzkaller.appspotmail.com

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 41446
Build 38335: arc lint + arc unit