{"id":"CVE-2023-53189","state":"PUBLISHED","title":"ipv6/addrconf: fix a potential refcount underflow for idev","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nipv6/addrconf: fix a potential refcount underflow for idev\n\nNow in addrconf_mod_rs_timer(), reference idev depends on whether\nrs_timer is not pending. Then modify rs_timer timeout.\n\nThere is a time gap in [1], during which if the pending rs_timer\nbecomes not pending. It will miss to hold idev, but the rs_timer\nis activated. Thus rs_timer callback function addrconf_rs_timer()\nwill be executed and put idev later without holding idev. A refcount\nunderflow issue for idev can be caused by this.\n\n\tif (!timer_pending(&idev->rs_timer))\n\t\tin6_dev_hold(idev);\n\t\t  <--------------[1]\n\tmod_timer(&idev->rs_timer, jiffies + when);\n\nTo fix the issue, hold idev if mod_timer() return 0.","publishedAt":"2025-09-15T14:05:26.685Z","updatedAt":"2026-10-15T21:41:27.813Z","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":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"c6395e32935d35e6f935e7caf1c2dac5a95943b4","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"df62fdcd004afa72ecbed0e862ebb983acd3aa57","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"c7eeba47058532f6077d6a658e38b6698f6ae71a","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"2ad31ce40e8182860b631e37209e93e543790b7c","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"82abd1c37d3bf2a2658b34772c17a25a6f9cca42","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"436b7cc7eae7851c184b671ed7a4a64c750b86f7","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"1f656e483eb4733d62f18dfb206a49b78f60f495","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"06a0716949c22e2aefb648526580671197151acc","versionType":"git"},{"version":"973d5956f754cfc306f5e274d71503498f4b0324","status":"affected","versionType":"git"},{"version":"3.10.105","status":"affected","lessThan":"3.11","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv6/addrconf.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.11","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.11","versionType":"semver"},{"version":"4.14.322","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.291","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.251","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.188","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.121","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.40","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.4.5","status":"unaffected","lessThanOrEqual":"6.4.*","versionType":"semver"},{"version":"6.5","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv6/addrconf.c"]}],"references":["https://git.kernel.org/stable/c/c6395e32935d35e6f935e7caf1c2dac5a95943b4","https://git.kernel.org/stable/c/df62fdcd004afa72ecbed0e862ebb983acd3aa57","https://git.kernel.org/stable/c/c7eeba47058532f6077d6a658e38b6698f6ae71a","https://git.kernel.org/stable/c/2ad31ce40e8182860b631e37209e93e543790b7c","https://git.kernel.org/stable/c/82abd1c37d3bf2a2658b34772c17a25a6f9cca42","https://git.kernel.org/stable/c/436b7cc7eae7851c184b671ed7a4a64c750b86f7","https://git.kernel.org/stable/c/1f656e483eb4733d62f18dfb206a49b78f60f495","https://git.kernel.org/stable/c/06a0716949c22e2aefb648526580671197151acc"],"weaknesses":[],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/53xxx/CVE-2023-53189.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53189","state":"PUBLISHED","datePublished":"2025-09-15T14:05:26.685Z","dateUpdated":"2026-10-15T21:41:27.813Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-09-15T13:59:19.066Z"},"containers":{"cna":{"title":"ipv6/addrconf: fix a potential refcount underflow for idev","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nipv6/addrconf: fix a potential refcount underflow for idev\n\nNow in addrconf_mod_rs_timer(), reference idev depends on whether\nrs_timer is not pending. Then modify rs_timer timeout.\n\nThere is a time gap in [1], during which if the pending rs_timer\nbecomes not pending. It will miss to hold idev, but the rs_timer\nis activated. Thus rs_timer callback function addrconf_rs_timer()\nwill be executed and put idev later without holding idev. A refcount\nunderflow issue for idev can be caused by this.\n\n\tif (!timer_pending(&idev->rs_timer))\n\t\tin6_dev_hold(idev);\n\t\t  <--------------[1]\n\tmod_timer(&idev->rs_timer, jiffies + when);\n\nTo fix the issue, hold idev if mod_timer() return 0."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"c6395e32935d35e6f935e7caf1c2dac5a95943b4","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"df62fdcd004afa72ecbed0e862ebb983acd3aa57","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"c7eeba47058532f6077d6a658e38b6698f6ae71a","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"2ad31ce40e8182860b631e37209e93e543790b7c","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"82abd1c37d3bf2a2658b34772c17a25a6f9cca42","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"436b7cc7eae7851c184b671ed7a4a64c750b86f7","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"1f656e483eb4733d62f18dfb206a49b78f60f495","versionType":"git"},{"version":"b7b1bfce0bb68bd8f6e62a28295922785cc63781","status":"affected","lessThan":"06a0716949c22e2aefb648526580671197151acc","versionType":"git"},{"version":"973d5956f754cfc306f5e274d71503498f4b0324","status":"affected","versionType":"git"},{"version":"3.10.105","status":"affected","lessThan":"3.11","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv6/addrconf.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.11","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.11","versionType":"semver"},{"version":"4.14.322","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.291","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.251","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.188","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.121","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.40","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.4.5","status":"unaffected","lessThanOrEqual":"6.4.*","versionType":"semver"},{"version":"6.5","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv6/addrconf.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/c6395e32935d35e6f935e7caf1c2dac5a95943b4"},{"url":"https://git.kernel.org/stable/c/df62fdcd004afa72ecbed0e862ebb983acd3aa57"},{"url":"https://git.kernel.org/stable/c/c7eeba47058532f6077d6a658e38b6698f6ae71a"},{"url":"https://git.kernel.org/stable/c/2ad31ce40e8182860b631e37209e93e543790b7c"},{"url":"https://git.kernel.org/stable/c/82abd1c37d3bf2a2658b34772c17a25a6f9cca42"},{"url":"https://git.kernel.org/stable/c/436b7cc7eae7851c184b671ed7a4a64c750b86f7"},{"url":"https://git.kernel.org/stable/c/1f656e483eb4733d62f18dfb206a49b78f60f495"},{"url":"https://git.kernel.org/stable/c/06a0716949c22e2aefb648526580671197151acc"}],"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 only reachable via local IPv6 addrconf paths that call addrconf_mod_rs_timer()—DAD completion on interface bring-up and inet6_set_iftoken() via rtnetlink—not via processing remote packets.\nAC:L - An attacker who can configure the netns controls both sides of the race: they can arm the RS timer, set a very short router_solicitation_interval via netns sysctl, and spam set_iftoken/ifup to hit the timer_pending-to-mod_timer window as the timer fires.\nPR:L - Triggering requires CAP_NET_ADMIN for interface/token/sysctl configuration, which an unprivileged user can obtain inside a user+network namespace; it does not require host-init-namespace root.\nUI:N - No victim interaction is needed; the attacker performs all interface and netlink operations themselves.\nS:U - Impact is memory corruption within the same kernel networking authority (inet6_dev UAF/refcount corruption), not a cross-boundary escape.\nC:H - The missed in6_dev_hold lets addrconf_rs_timer() put without a matching hold, which can free or leave inet6_dev at refcnt 0 while still reachable via the device, enabling a use-after-free read primitive.\nI:H - The same inet6_dev use-after-free/refcount corruption can be exploited for heap reuse and arbitrary write/control-flow hijack against the kernel network stack.\nA:H - Refcount underflow or premature destruction of inet6_dev leads to kernel WARN/oops, unstable networking state, or crash when the dangling idev is used."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T09:13:02.180Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"4.14.322"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"4.19.291"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"5.4.251"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"5.10.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"5.15.121"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"6.1.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"6.4.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.11","versionEndExcluding":"6.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.10.105"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2023-53189","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-15T21:34:23.338472Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-15T21:41:27.813Z"}}]}}}