{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-23436","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-01-13T15:37:46.017Z","datePublished":"2026-04-03T15:15:21.280Z","dateUpdated":"2026-05-11T22:06:52.320Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T22:06:52.320Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: shaper: protect from late creation of hierarchy\n\nWe look up a netdev during prep of Netlink ops (pre- callbacks)\nand take a ref to it. Then later in the body of the callback\nwe take its lock or RCU which are the actual protections.\n\nThe netdev may get unregistered in between the time we take\nthe ref and the time we lock it. We may allocate the hierarchy\nafter flush has already run, which would lead to a leak.\n\nTake the instance lock in pre- already, this saves us from the race\nand removes the need for dedicated lock/unlock callbacks completely.\nAfter all, if there's any chance of write happening concurrently\nwith the flush - we're back to leaking the hierarchy.\n\nWe may take the lock for devices which don't support shapers but\nwe're only dealing with SET operations here, not taking the lock\nwould be optimizing for an error case."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["Documentation/netlink/specs/net_shaper.yaml","net/shaper/shaper.c","net/shaper/shaper_nl_gen.c","net/shaper/shaper_nl_gen.h"],"versions":[{"version":"93954b40f6a4fc43226c01a15b02732f884500f1","lessThan":"719f6784f918f9e32f3ff3b197f900e852223f9d","status":"affected","versionType":"git"},{"version":"93954b40f6a4fc43226c01a15b02732f884500f1","lessThan":"d22921727023e7852704965e935f4d1fc83a5ec9","status":"affected","versionType":"git"},{"version":"93954b40f6a4fc43226c01a15b02732f884500f1","lessThan":"d75ec7e8ba1979a1eb0b9211d94d749cdce849c8","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["Documentation/netlink/specs/net_shaper.yaml","net/shaper/shaper.c","net/shaper/shaper_nl_gen.c","net/shaper/shaper_nl_gen.h"],"versions":[{"version":"6.13","status":"affected"},{"version":"0","lessThan":"6.13","status":"unaffected","versionType":"semver"},{"version":"6.18.20","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"6.19.10","lessThanOrEqual":"6.19.*","status":"unaffected","versionType":"semver"},{"version":"7.0","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"6.18.20"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"6.19.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.0"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/719f6784f918f9e32f3ff3b197f900e852223f9d"},{"url":"https://git.kernel.org/stable/c/d22921727023e7852704965e935f4d1fc83a5ec9"},{"url":"https://git.kernel.org/stable/c/d75ec7e8ba1979a1eb0b9211d94d749cdce849c8"}],"title":"net: shaper: protect from late creation of hierarchy","x_generator":{"engine":"bippy-1.2.0"}}}}