]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
accept_filter: Fix filter parameter handling
authorMark Johnston <markj@FreeBSD.org>
Thu, 25 Mar 2021 21:55:20 +0000 (17:55 -0400)
committerMark Johnston <markj@FreeBSD.org>
Sun, 28 Mar 2021 00:24:15 +0000 (20:24 -0400)
commitc7d10e7ec872070a40bbddc3158b1997c1df09af
treec0379188a320bf25591dac2c8ada079991049557
parent41a8dc361969629706827fb867cedaec3c270e68
accept_filter: Fix filter parameter handling

For filters which implement accf_create, the setsockopt(2) handler
caches the filter name in the socket, but it also incorrectly frees the
buffer containing the copy, leaving a dangling pointer.  Note that no
accept filters provided in the base system are susceptible to this, as
they don't implement accf_create.

Reported by: Alexey Kulaev <alex.qart@gmail.com>
Discussed with: emaste
Security: kernel use-after-free
MFC after: 3 days
Sponsored by: The FreeBSD Foundation

(cherry picked from commit 653a437c04440495cd8e7712c7cf39444f26f1ee)
sys/kern/uipc_accf.c