{"id":"CVE-2026-68162","state":"PUBLISHED","title":"sctp: avoid auth_enable sysctl UAF during netns teardown","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: avoid auth_enable sysctl UAF during netns teardown\n\nproc_sctp_do_auth() updates the SCTP control socket after changing\nnet.sctp.auth_enable. The handler gets the per-net SCTP state from\nctl->data, so an already opened sysctl file can still target a network\nnamespace while that namespace is being torn down.\n\nSCTP previously registered its per-net sysctls from sctp_defaults_init(),\nwhile the control socket is created later from sctp_ctrlsock_init(). This\nexposed a window during initialization where auth_enable was writable\nbefore net->sctp.ctl_sock existed, and a teardown window where auth_enable\nstayed writable after inet_ctl_sock_destroy() had released the control\nsocket.\n\nMove the per-net SCTP sysctl registration into sctp_ctrlsock_init() after\nsctp_ctl_sock_init() succeeds, and unregister the sysctl table before\ndestroying the control socket in sctp_ctrlsock_exit(). If sysctl\nregistration fails after the control socket was created, destroy the\ncontrol socket in the same init path.\n\nMake sctp_sysctl_net_unregister() tolerate a missing header and clear the\nsaved pointer so init-error and exit paths can safely share the unregister\nhelper.","publishedAt":"2026-08-10T11:59:29.099Z","updatedAt":"2026-10-19T20:58:55.689Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"10c869a52f266e40f548cc3c565d14930a5edafc","status":"affected","lessThan":"19573dcddb8819fd68d6cd1f916c1c99c3fa4ff4","versionType":"git"},{"version":"dc583e7e5f8515ca489c0df28e4362a70eade382","status":"affected","lessThan":"ceb7190b5c873d4a1267a1600c5aa52c600e929f","versionType":"git"},{"version":"bd2a2939423566c654545fa3e96a656662a0af9e","status":"affected","lessThan":"fd66854a22661929245f3d2b244c432bc8b1a150","versionType":"git"},{"version":"1b67030d39f2b00f94ac1f0af11ba6657589e4d3","status":"affected","lessThan":"158f3cc332dc53f43ec20060233d7c3cecd6d912","versionType":"git"},{"version":"7ec30c54f339c640aa7e49d7e9f7bbed6bd42bf6","status":"affected","lessThan":"66700c0719675e0e118ae83b2d7168dacd69dd3d","versionType":"git"},{"version":"c184bc621e3cef03ac9ba81a50dda2dae6a21d36","status":"affected","lessThan":"626bda8cfe43dff19a9833ff6ba055a817b5455c","versionType":"git"},{"version":"15649fd5415eda664ef35780c2013adeb5d9c695","status":"affected","lessThan":"be6aae9d1b91c603adb35872d37d40e83daf8758","versionType":"git"},{"version":"15649fd5415eda664ef35780c2013adeb5d9c695","status":"affected","lessThan":"a50e73488e0bbdd262b3be3c9a1d8dd078382381","versionType":"git"},{"version":"15649fd5415eda664ef35780c2013adeb5d9c695","status":"affected","lessThan":"f8d5e7846025f4ab15a461235f8ebae9094a361a","versionType":"git"},{"version":"5.4.290","status":"affected","lessThan":"5.4.292","versionType":"semver"},{"version":"5.10.234","status":"affected","lessThan":"5.10.266","versionType":"semver"},{"version":"5.15.177","status":"affected","lessThan":"5.15.217","versionType":"semver"},{"version":"6.1.125","status":"affected","lessThan":"6.1.184","versionType":"semver"},{"version":"6.6.72","status":"affected","lessThan":"6.6.151","versionType":"semver"},{"version":"6.12.10","status":"affected","lessThan":"6.12.101","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sctp/protocol.c","net/sctp/sysctl.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.13","versionType":"semver"},{"version":"5.4.292","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.266","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.217","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.184","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.151","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sctp/protocol.c","net/sctp/sysctl.c"]}],"references":["https://git.kernel.org/stable/c/19573dcddb8819fd68d6cd1f916c1c99c3fa4ff4","https://git.kernel.org/stable/c/ceb7190b5c873d4a1267a1600c5aa52c600e929f","https://git.kernel.org/stable/c/fd66854a22661929245f3d2b244c432bc8b1a150","https://git.kernel.org/stable/c/158f3cc332dc53f43ec20060233d7c3cecd6d912","https://git.kernel.org/stable/c/66700c0719675e0e118ae83b2d7168dacd69dd3d","https://git.kernel.org/stable/c/626bda8cfe43dff19a9833ff6ba055a817b5455c","https://git.kernel.org/stable/c/be6aae9d1b91c603adb35872d37d40e83daf8758","https://git.kernel.org/stable/c/a50e73488e0bbdd262b3be3c9a1d8dd078382381","https://git.kernel.org/stable/c/f8d5e7846025f4ab15a461235f8ebae9094a361a"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:12:49.727Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/68xxx/CVE-2026-68162.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-68162","state":"PUBLISHED","datePublished":"2026-08-10T11:59:29.099Z","dateUpdated":"2026-10-19T20:58:55.689Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-30T09:28:09.372Z"},"containers":{"cna":{"title":"sctp: avoid auth_enable sysctl UAF during netns teardown","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: avoid auth_enable sysctl UAF during netns teardown\n\nproc_sctp_do_auth() updates the SCTP control socket after changing\nnet.sctp.auth_enable. The handler gets the per-net SCTP state from\nctl->data, so an already opened sysctl file can still target a network\nnamespace while that namespace is being torn down.\n\nSCTP previously registered its per-net sysctls from sctp_defaults_init(),\nwhile the control socket is created later from sctp_ctrlsock_init(). This\nexposed a window during initialization where auth_enable was writable\nbefore net->sctp.ctl_sock existed, and a teardown window where auth_enable\nstayed writable after inet_ctl_sock_destroy() had released the control\nsocket.\n\nMove the per-net SCTP sysctl registration into sctp_ctrlsock_init() after\nsctp_ctl_sock_init() succeeds, and unregister the sysctl table before\ndestroying the control socket in sctp_ctrlsock_exit(). If sysctl\nregistration fails after the control socket was created, destroy the\ncontrol socket in the same init path.\n\nMake sctp_sysctl_net_unregister() tolerate a missing header and clear the\nsaved pointer so init-error and exit paths can safely share the unregister\nhelper."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"10c869a52f266e40f548cc3c565d14930a5edafc","status":"affected","lessThan":"19573dcddb8819fd68d6cd1f916c1c99c3fa4ff4","versionType":"git"},{"version":"dc583e7e5f8515ca489c0df28e4362a70eade382","status":"affected","lessThan":"ceb7190b5c873d4a1267a1600c5aa52c600e929f","versionType":"git"},{"version":"bd2a2939423566c654545fa3e96a656662a0af9e","status":"affected","lessThan":"fd66854a22661929245f3d2b244c432bc8b1a150","versionType":"git"},{"version":"1b67030d39f2b00f94ac1f0af11ba6657589e4d3","status":"affected","lessThan":"158f3cc332dc53f43ec20060233d7c3cecd6d912","versionType":"git"},{"version":"7ec30c54f339c640aa7e49d7e9f7bbed6bd42bf6","status":"affected","lessThan":"66700c0719675e0e118ae83b2d7168dacd69dd3d","versionType":"git"},{"version":"c184bc621e3cef03ac9ba81a50dda2dae6a21d36","status":"affected","lessThan":"626bda8cfe43dff19a9833ff6ba055a817b5455c","versionType":"git"},{"version":"15649fd5415eda664ef35780c2013adeb5d9c695","status":"affected","lessThan":"be6aae9d1b91c603adb35872d37d40e83daf8758","versionType":"git"},{"version":"15649fd5415eda664ef35780c2013adeb5d9c695","status":"affected","lessThan":"a50e73488e0bbdd262b3be3c9a1d8dd078382381","versionType":"git"},{"version":"15649fd5415eda664ef35780c2013adeb5d9c695","status":"affected","lessThan":"f8d5e7846025f4ab15a461235f8ebae9094a361a","versionType":"git"},{"version":"5.4.290","status":"affected","lessThan":"5.4.292","versionType":"semver"},{"version":"5.10.234","status":"affected","lessThan":"5.10.266","versionType":"semver"},{"version":"5.15.177","status":"affected","lessThan":"5.15.217","versionType":"semver"},{"version":"6.1.125","status":"affected","lessThan":"6.1.184","versionType":"semver"},{"version":"6.6.72","status":"affected","lessThan":"6.6.151","versionType":"semver"},{"version":"6.12.10","status":"affected","lessThan":"6.12.101","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sctp/protocol.c","net/sctp/sysctl.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.13","versionType":"semver"},{"version":"5.4.292","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.266","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.217","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.184","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.151","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sctp/protocol.c","net/sctp/sysctl.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/19573dcddb8819fd68d6cd1f916c1c99c3fa4ff4"},{"url":"https://git.kernel.org/stable/c/ceb7190b5c873d4a1267a1600c5aa52c600e929f"},{"url":"https://git.kernel.org/stable/c/fd66854a22661929245f3d2b244c432bc8b1a150"},{"url":"https://git.kernel.org/stable/c/158f3cc332dc53f43ec20060233d7c3cecd6d912"},{"url":"https://git.kernel.org/stable/c/66700c0719675e0e118ae83b2d7168dacd69dd3d"},{"url":"https://git.kernel.org/stable/c/626bda8cfe43dff19a9833ff6ba055a817b5455c"},{"url":"https://git.kernel.org/stable/c/be6aae9d1b91c603adb35872d37d40e83daf8758"},{"url":"https://git.kernel.org/stable/c/a50e73488e0bbdd262b3be3c9a1d8dd078382381"},{"url":"https://git.kernel.org/stable/c/f8d5e7846025f4ab15a461235f8ebae9094a361a"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The bug is triggered only by writing the per-net sysctl net.sctp.auth_enable via /proc/sys (proc_sctp_do_auth); it is not reachable from SCTP packet receive, sockets, or other remote protocol paths.\nAC:L - An attacker can open the sysctl file, concurrently destroy the target network namespace, and repeatedly write during teardown; pernet exit destroys ctl_sock before unregistering sysctls, and the attacker controls both sides of that race.\nPR:L - Exploitation requires writing a mode 0644 sysctl in a network namespace; an unprivileged host user with CAP_NET_ADMIN via user namespaces can create a netns, become namespace root, and write net/sctp/auth_enable without init-namespace privileges.\nUI:N - No victim interaction is required beyond the attacker opening the sysctl and triggering namespace teardown in their own threads or processes.\nS:U - Impact is confined to kernel memory corruption and privilege escalation within the same host/kernel security domain; it does not cross VM, container, or IOMMU boundaries by itself.\nC:H - proc_sctp_do_auth dereferences net->sctp.ctl_sock after inet_ctl_sock_destroy; lock_sock and sctp_sk(sk)->ep access freed socket/endpoint memory, a use-after-free that can disclose or infer heap contents.\nI:H - On a successful write, the handler sets sctp_sk(sk)->ep->auth_enable on a freed endpoint object, giving a controlled heap write primitive that can be developed into arbitrary kernel modification or code execution.\nA:H - Use-after-free on the SCTP control socket/endpoint during sysctl processing can cause kernel oops/panic from lock_sock or ep access on freed memory, even when full exploitation is not attempted."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-23T12:46:01.222Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.290","versionEndExcluding":"5.4.292"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.234","versionEndExcluding":"5.10.266"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.177","versionEndExcluding":"5.15.217"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.125","versionEndExcluding":"6.1.184"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.72","versionEndExcluding":"6.6.151"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.10","versionEndExcluding":"6.12.101"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"6.18.42"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.1.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-68162","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T15:45:25.940723Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:58:55.689Z"}}]}}}