Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
sctp: avoid auth_enable sysctl UAF during netns teardown
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.
References
Affected products
- =<6.6.*
- <be6aae9d1b91c603adb35872d37d40e83daf8758
- =<*
- ==dc583e7e5f8515ca489c0df28e4362a70eade382
- <6.13
- <66700c0719675e0e118ae83b2d7168dacd69dd3d
- ==bd2a2939423566c654545fa3e96a656662a0af9e
- =<7.1.*
- <6.12.101
- <6.2
- =<6.18.*
- =<5.4.*
- <626bda8cfe43dff19a9833ff6ba055a817b5455c
- <5.11
- <5.16
- =<6.12.*
- <a50e73488e0bbdd262b3be3c9a1d8dd078382381
- ==1b67030d39f2b00f94ac1f0af11ba6657589e4d3
- <5.4.292
- <6.6.151
- ==6.13
- <f8d5e7846025f4ab15a461235f8ebae9094a361a
- <19573dcddb8819fd68d6cd1f916c1c99c3fa4ff4