]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selinux: use sk blob accessor in socket permission helpers
authorZongyao Chen <ZongYao.Chen@linux.alibaba.com>
Fri, 24 Apr 2026 07:37:53 +0000 (15:37 +0800)
committerPaul Moore <paul@paul-moore.com>
Mon, 27 Apr 2026 23:26:57 +0000 (19:26 -0400)
commit032e70aff025d7c519af9ab791cd084380619263
tree1b36486a85c8fd979741dc139151e2261068be97
parent254f49634ee16a731174d2ae34bc50bd5f45e731
selinux: use sk blob accessor in socket permission helpers

SELinux socket state lives in the composite LSM socket blob.

sock_has_perm() and nlmsg_sock_has_extended_perms() currently
dereference sk->sk_security directly, which assumes the SELinux socket
blob is at offset zero.

In stacked configurations that assumption does not hold. If another LSM
allocates socket blob storage before SELinux, these helpers may read the
wrong blob and feed invalid SID and class values into AVC checks.

Use selinux_sock() instead of accessing sk->sk_security directly.

Fixes: d1d991efaf34 ("selinux: Add netlink xperm support")
Cc: stable@vger.kernel.org # v6.13+
Signed-off-by: Zongyao Chen <ZongYao.Chen@linux.alibaba.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
security/selinux/hooks.c