linux-imx/security/smack
Konstantin Andreev b181e96e80 smack: unix sockets: fix accept()ed socket label
[ Upstream commit e86cac0acd ]

When a process accept()s connection from a unix socket
(either stream or seqpacket)
it gets the socket with the label of the connecting process.

For example, if a connecting process has a label 'foo',
the accept()ed socket will also have 'in' and 'out' labels 'foo',
regardless of the label of the listener process.

This is because kernel creates unix child sockets
in the context of the connecting process.

I do not see any obvious way for the listener to abuse
alien labels coming with the new socket, but,
to be on the safe side, it's better fix new socket labels.

Signed-off-by: Konstantin Andreev <andreev@swemel.ru>
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-09-12 11:11:29 +02:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
smack_access.c smack: Replace kzalloc + strncpy with kstrndup 2022-08-01 11:26:09 -07:00
smack_lsm.c smack: unix sockets: fix accept()ed socket label 2024-09-12 11:11:29 +02:00
smack_netfilter.c smack: remove duplicated hook function 2021-10-12 08:23:52 -07:00
smack.h smack: Set the SMACK64TRANSMUTE xattr in smack_inode_init_security() 2023-07-10 13:59:38 -04:00
smackfs.c smackfs: Prevent underflow in smk_set_cipso() 2023-08-07 14:09:23 -07:00