mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 01:32:21 +02:00
ACCEPT and DONE are the two downcalls of the handshake genl
family, both intended for use by the trusted handshake agent
(tlshd). ACCEPT already requires GENL_ADMIN_PERM; DONE has
no privilege check at all.
The fd-lookup in handshake_nl_done_doit() only confirms that
some pending handshake request exists for the supplied sockfd;
it does not authenticate the sender. An unprivileged process
that guesses or observes a valid sockfd can therefore submit
a DONE with HANDSHAKE_A_DONE_STATUS == 0, leaving the kernel
consumer to proceed as if the handshake succeeded. A non-zero
status on a forged DONE tears down a legitimate in-flight
handshake before tlshd can report its real result.
Fixes:
|
||
|---|---|---|
| .. | ||
| .kunitconfig | ||
| alert.c | ||
| genl.c | ||
| genl.h | ||
| handshake-test.c | ||
| handshake.h | ||
| Makefile | ||
| netlink.c | ||
| request.c | ||
| tlshd.c | ||
| trace.c | ||