CVE-2025-38588

Summary

In the Linux kernel, the following vulnerability has been resolved:

ipv6: prevent infinite loop in rt6_nlmsg_size()

While testing prior patch, I was able to trigger an infinite loop in rt6_nlmsg_size() in the following place:

list_for_each_entry_rcu(sibling, &f6i->fib6_siblings, fib6_siblings) { rt6_nh_nlmsg_size(sibling->fib6_nh, &nexthop_len); }

This is because fib6_del_route() and fib6_add_rt2node() uses list_del_rcu(), which can confuse rcu readers, because they might no longer see the head of the list.

Restart the loop if f6i->fib6_nsiblings is zero.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxd0ec61c9f3583b76aebdbb271f5c0d3fcccd48b2 < 6d345136c9b875f065d226908a29c25cdf9343f8affected
LinuxLinux52da02521ede55fb86546c3fffd9377b3261b91f < e1b7932af47f92432be8303d2439d1bf77b0be23affected
LinuxLinux34a949e7a0869dfa31a40416d2a56973fae1807b < cd8d8bbd9ced4cc5d06d858f67d4aa87745e8f38affected
LinuxLinuxd9ccb18f83ea2bb654289b6ecf014fd267cc988b < 3c13db3e47e170bab19e574404e7b6be45ea873daffected
LinuxLinuxd9ccb18f83ea2bb654289b6ecf014fd267cc988b < 46aeb66e9e54ed0d56c18615e1c3dbd502b327abaffected
LinuxLinuxd9ccb18f83ea2bb654289b6ecf014fd267cc988b < 54e6fe9dd3b0e7c481c2228782c9494d653546daaffected
LinuxLinux11edcd026012ac18acee0f1514db3ed1b160fc6faffected
LinuxLinux6.1.128 < 6.1.148affected
LinuxLinux6.6.75 < 6.6.102affected
LinuxLinux6.12.2 < 6.12.42affected
LinuxLinux6.11.11 < 6.12affected
LinuxLinux6.13affected
LinuxLinux0 < 6.13unaffected
LinuxLinux6.1.148 <= 6.1.*unaffected
LinuxLinux6.6.102 <= 6.6.*unaffected
LinuxLinux6.12.42 <= 6.12.*unaffected
LinuxLinux6.15.10 <= 6.15.*unaffected
LinuxLinux6.16.1 <= 6.16.*unaffected
LinuxLinux6.17 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

References