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)
Thu, Apr 30, 7:17 AM
Unknown Object (File)
Sat, Apr 25, 5:42 PM
Unknown Object (File)
Thu, Apr 23, 9:32 AM
Unknown Object (File)
Mon, Apr 20, 2:02 AM
Unknown Object (File)
Fri, Apr 3, 6:48 AM
Unknown Object (File)
Wed, Apr 1, 11:31 PM
Unknown Object (File)
Mar 30 2026, 5:12 AM
Unknown Object (File)
Mar 22 2026, 2:13 PM
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