Description
In the Linux kernel, the following vulnerability has been resolved: ipv6/addrconf: fix a potential refcount underflow for idev Now in addrconf_mod_rs_timer(), reference idev depends on whether rs_timer is not pending. Then modify rs_timer timeout. There is a time gap in [1], during which if the pending rs_timer becomes not pending. It will miss to hold idev, but the rs_timer is activated. Thus rs_timer callback function addrconf_rs_timer() will be executed and put idev later without holding idev. A refcount underflow issue for idev can be caused by this. if (!timer_pending(&idev->rs_timer)) in6_dev_hold(idev); <--------------[1] mod_timer(&idev->rs_timer, jiffies + when); To fix the issue, hold idev if mod_timer() return 0.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
b7b1bfce0bb68bd8f6e62a28295922785cc63781 to < c6395e32935d35e6f935e7caf1c2dac5a95943b4affectedb7b1bfce0bb68bd8f6e62a28295922785cc63781 to < df62fdcd004afa72ecbed0e862ebb983acd3aa57affectedb7b1bfce0bb68bd8f6e62a28295922785cc63781 to < c7eeba47058532f6077d6a658e38b6698f6ae71aaffectedb7b1bfce0bb68bd8f6e62a28295922785cc63781 to < 2ad31ce40e8182860b631e37209e93e543790b7caffectedb7b1bfce0bb68bd8f6e62a28295922785cc63781 to < 82abd1c37d3bf2a2658b34772c17a25a6f9cca42affectedb7b1bfce0bb68bd8f6e62a28295922785cc63781 to < 436b7cc7eae7851c184b671ed7a4a64c750b86f7affectedb7b1bfce0bb68bd8f6e62a28295922785cc63781 to < 1f656e483eb4733d62f18dfb206a49b78f60f495affectedb7b1bfce0bb68bd8f6e62a28295922785cc63781 to < 06a0716949c22e2aefb648526580671197151accaffected973d5956f754cfc306f5e274d71503498f4b0324affected3.10.105 to < 3.11affected
Linux Linux
Default version status: affected
3.11affected0 to < 3.11unaffected4.14.322 to ≤ 4.14.*unaffected4.19.291 to ≤ 4.19.*unaffected5.4.251 to ≤ 5.4.*unaffected5.10.188 to ≤ 5.10.*unaffected5.15.121 to ≤ 5.15.*unaffected6.1.40 to ≤ 6.1.*unaffected6.4.5 to ≤ 6.4.*unaffected6.5 to ≤ *unaffected
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 ↗