Skip to main content
← All vulnerabilities
CVE-2026-68162

sctp: avoid auth_enable sysctl UAF during netns teardown

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.4.292, 5.10.266, 5.15.217, 6.1.184, 6.6.151, and 3 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From 10c869a52f266e40f548cc3c565d14930a5edafc · fixed in 19573dcddb8819fd68d6cd1f916c1c99c3fa4ff4; From dc583e7e5f8515ca489c0df28e4362a70eade382 · fixed in ceb7190b5c873d4a1267a1600c5aa52c600e929f; From bd2a2939423566c654545fa3e96a656662a0af9e · fixed in fd66854a22661929245f3d2b244c432bc8b1a150; From 1b67030d39f2b00f94ac1f0af11ba6657589e4d3 · fixed in 158f3cc332dc53f43ec20060233d7c3cecd6d912; From 7ec30c54f339c640aa7e49d7e9f7bbed6bd42bf6 · fixed in 66700c0719675e0e118ae83b2d7168dacd69dd3d; From c184bc621e3cef03ac9ba81a50dda2dae6a21d36 · fixed in 626bda8cfe43dff19a9833ff6ba055a817b5455c; From 15649fd5415eda664ef35780c2013adeb5d9c695 · fixed in be6aae9d1b91c603adb35872d37d40e83daf8758; From 15649fd5415eda664ef35780c2013adeb5d9c695 · fixed in a50e73488e0bbdd262b3be3c9a1d8dd078382381; From 15649fd5415eda664ef35780c2013adeb5d9c695 · fixed in f8d5e7846025f4ab15a461235f8ebae9094a361a; From 5.4.290 · fixed in 5.4.292; From 5.10.234 · fixed in 5.10.266; From 5.15.177 · fixed in 5.15.217; From 6.1.125 · fixed in 6.1.184; From 6.6.72 · fixed in 6.6.151; From 6.12.10 · fixed in 6.12.101

  • Linux Linux

    6.13

  • KernelLinux

    fixed in 5.4.292; From 5.5.0 · fixed in 5.10.266; From 5.11.0 · fixed in 5.15.217; From 5.16.0 · fixed in 6.1.184; From 6.2.0 · fixed in 6.6.151; From 6.7.0 · fixed in 6.12.101; From 6.13.0 · fixed in 6.18.42; fixed in 7.1.6

References 9

git.kernel.org