Description
In the Linux kernel, the following vulnerability has been resolved: selinux: avoid sk_socket dereference in selinux_sctp_bind_connect() selinux_sctp_bind_connect() dereferences sk->sk_socket to pass a struct socket * to selinux_socket_bind() and selinux_socket_connect_helper(). However, when the hook is invoked from the ASCONF softirq path (sctp_process_asconf), there is no file reference guaranteeing that sk->sk_socket is non-NULL. The setsockopt callers (bindx, connectx, set_primary, sendmsg connect) hold a file reference and are not affected. Both selinux_socket_bind() and selinux_socket_connect_helper() immediately resolve sock->sk, never using the struct socket * for anything else. Refactor the inner logic into helpers that take a struct sock * directly so that selinux_sctp_bind_connect() never needs to touch sk->sk_socket at all.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d452930fd3b9031e59abfeddb2fa383f1403d61a to < e4f3b8db1b0c5e9f6374b8996d9e1888d1042b55affectedd452930fd3b9031e59abfeddb2fa383f1403d61a to < 2fcaf133a8fd88b69f32ebaecad93fd302da828faffectedd452930fd3b9031e59abfeddb2fa383f1403d61a to < a4bc2fb8536488b37680c0b66c59434a4b7f8c2faffectedd452930fd3b9031e59abfeddb2fa383f1403d61a to < 5d4d93f9bfbc997ffbb03cd6107e8f6979dbb9b4affectedd452930fd3b9031e59abfeddb2fa383f1403d61a to < cc8bd47b35eca82393cbad08b1cc86f02e034439affectedd452930fd3b9031e59abfeddb2fa383f1403d61a to < d61a80b17254be7230bc5544f8e62ddf21ab38e2affectedd452930fd3b9031e59abfeddb2fa383f1403d61a to < 37d642b37ccdc31e1947c2ebc8dc38f03d4a0cebaffectedd452930fd3b9031e59abfeddb2fa383f1403d61a to < 56acfeb10019e200ab6787d01f8d7cbe0f01526faffected
Linux Linux
Default version status: affected
4.17affected0 to < 4.17unaffected5.10.266 to ≤ 5.10.*unaffected5.15.217 to ≤ 5.15.*unaffected6.1.184 to ≤ 6.1.*unaffected6.6.148 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e4f3b8db1b0c5e9f6374b8996d9e1888d1042b55 ↗
- https://git.kernel.org/stable/c/2fcaf133a8fd88b69f32ebaecad93fd302da828f ↗
- https://git.kernel.org/stable/c/a4bc2fb8536488b37680c0b66c59434a4b7f8c2f ↗
- https://git.kernel.org/stable/c/5d4d93f9bfbc997ffbb03cd6107e8f6979dbb9b4 ↗
- https://git.kernel.org/stable/c/cc8bd47b35eca82393cbad08b1cc86f02e034439 ↗
- https://git.kernel.org/stable/c/d61a80b17254be7230bc5544f8e62ddf21ab38e2 ↗
- https://git.kernel.org/stable/c/37d642b37ccdc31e1947c2ebc8dc38f03d4a0ceb ↗
- https://git.kernel.org/stable/c/56acfeb10019e200ab6787d01f8d7cbe0f01526f ↗