sctp: avoid auth_enable sysctl UAF during netns teardown
0Vexday Risk Score
Sem sinal de exploração. Nenhum artefato público de exploração conhecido até agora.
ssvc Track
probabilidade de exploração
—
exploração observada
nãonenhuma fonte reporta
In the Linux kernel, the following vulnerability has been resolved:
sctp: avoid auth_enable sysctl UAF during netns teardown
proc_sctp_do_auth() updates the SCTP control socket after changing
net.sctp.auth_enable. The handler gets the per-net SCTP state from
ctl->data, so an already opened sysctl file can still target a network
namespace while that namespace is being torn down.
SCTP previously registered its per-net sysctls from sctp_defaults_init(),
while the control socket is created later from sctp_ctrlsock_init(). This
exposed a window during initialization where auth_enable was writable
before net->sctp.ctl_sock existed, and a teardown window where auth_enable
stayed writable after inet_ctl_sock_destroy() had released the control
socket.
Move the per-net SCTP sysctl registration into sctp_ctrlsock_init() after
sctp_ctl_sock_init() succeeds, and unregister the sysctl table before
destroying the control socket in sctp_ctrlsock_exit(). If sysctl
registration fails after the control socket was created, destroy the
control socket in the same init path.
Make sctp_sysctl_net_unregister() tolerate a missing header and clear the
saved pointer so init-error and exit paths can safely share the unregister
helper.
Produtos afetados
Linux · LinuxReferências
https://git.kernel.org/stable/c/19573dcddb8819fd68d6cd1f916c1c99c3fa4ff4https://git.kernel.org/stable/c/626bda8cfe43dff19a9833ff6ba055a817b5455chttps://git.kernel.org/stable/c/66700c0719675e0e118ae83b2d7168dacd69dd3dhttps://git.kernel.org/stable/c/a50e73488e0bbdd262b3be3c9a1d8dd078382381https://git.kernel.org/stable/c/be6aae9d1b91c603adb35872d37d40e83daf8758https://git.kernel.org/stable/c/f8d5e7846025f4ab15a461235f8ebae9094a361a