CVE-2023-53995

Summary

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

net: ipv4: fix one memleak in __inet_del_ifa()

I got the below warning when do fuzzing test: unregister_netdevice: waiting for bond0 to become free. Usage count = 2

It can be repoduced via:

ip link add bond0 type bond sysctl -w net.ipv4.conf.bond0.promote_secondaries=1 ip addr add 4.117.174.103/0 scope 0x40 dev bond0 ip addr add 192.168.100.111/255.255.255.254 scope 0 dev bond0 ip addr add 0.0.0.4/0 scope 0x40 secondary dev bond0 ip addr del 4.117.174.103/0 scope 0x40 dev bond0 ip link delete bond0 type bond

In this reproduction test case, an incorrect 'last_prim' is found in __inet_del_ifa(), as a result, the secondary address(0.0.0.4/0 scope 0x40) is lost. The memory of the secondary address is leaked and the reference of in_device and net_device is leaked.

Fix this problem: Look for 'last_prim' starting at location of the deleted IP and inserting the promoted IP into the location of 'last_prim'.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux0ff60a45678e67b2547256a636fd00c1667ce4fa < 5624f26a3574500ce23929cb2c9976a0dec9920aaffected
LinuxLinux0ff60a45678e67b2547256a636fd00c1667ce4fa < 7c8ddcdab1b900bed69cad6beef477fff116289eaffected
LinuxLinux0ff60a45678e67b2547256a636fd00c1667ce4fa < 2f1e86014d0cc084886c36a2d77bc620e2d42618affected
LinuxLinux0ff60a45678e67b2547256a636fd00c1667ce4fa < 980f8445479814509a3cd55a8eabaae1c9030a4caffected
LinuxLinux0ff60a45678e67b2547256a636fd00c1667ce4fa < 42652af5360d30b43b06057c193739e7dfb18f42affected
LinuxLinux0ff60a45678e67b2547256a636fd00c1667ce4fa < ac28b1ec6135649b5d78b028e47264cb3ebca5eaaffected
LinuxLinux2.6.15affected
LinuxLinux0 < 2.6.15unaffected
LinuxLinux5.4.257 <= 5.4.*unaffected
LinuxLinux5.10.195 <= 5.10.*unaffected
LinuxLinux5.15.132 <= 5.15.*unaffected
LinuxLinux6.1.54 <= 6.1.*unaffected
LinuxLinux6.5.4 <= 6.5.*unaffected
LinuxLinux6.6 <= *unaffected

Weaknesses

References