CVE-2021-47416
Vulnerability Summary
Timeline
Description
In the Linux kernel, the following vulnerability has been resolved: phy: mdio: fix memory leak Syzbot reported memory leak in MDIO bus interface, the problem was in wrong state logic. MDIOBUS_ALLOCATED indicates 2 states: 1. Bus is only allocated 2. Bus allocated and __mdiobus_register() fails, but device_register() was called In case of device_register() has been called we should call put_device() to correctly free the memory allocated for this device, but mdiobus_free() calls just kfree(dev) in case of MDIOBUS_ALLOCATED state To avoid this behaviour we need to set bus->state to MDIOBUS_UNREGISTERED _before_ calling device_register(), because put_device() should be called even in case of device_register() failure.
CVSS Metrics
- v3.1•MEDIUM•Score: 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS Trends
Current EPSS score: 0.01%• Percentile: 2%
Techniques & Countermeasures
- CWE-401•Missing Release of Memory after Effective Lifetime
The product does not sufficiently track and release allocated memory after it has been used, making the memory unavailable for reallocation and reuse.
Affected Systems
- linux•linux
≥ 46abc02175b3c246dd5141d878f565a8725060c9, < 25e9f88c7e3cc35f5e3d3db199660d28a15df639 | ≥ 46abc02175b3c246dd5141d878f565a8725060c9, < 2250392d930bd0d989f24d355d6355b0150256e7 | ≥ 46abc02175b3c246dd5141d878f565a8725060c9, < f4f502a04ee1e543825af78f47eb7785015cd9f6 | ≥ 46abc02175b3c246dd5141d878f565a8725060c9, < 2397b9e118721292429fea8807a698e71b94795f | ≥ 46abc02175b3c246dd5141d878f565a8725060c9, < 414bb4ead1362ef2c8592db723c017258f213988 | ≥ 46abc02175b3c246dd5141d878f565a8725060c9, < 0d2dd40a7be61b89a7c99dae8ee96389d27b413a | ≥ 46abc02175b3c246dd5141d878f565a8725060c9, < 064c2616234a7394867c924b5c1303974f3a4f4d | ≥ 46abc02175b3c246dd5141d878f565a8725060c9, < ca6e11c337daf7925ff8a2aac8e84490a8691905 | 2.6.28
- linux•linux_kernel
≥ 2.6.28, < 4.4.289 | ≥ 4.5, < 4.9.287 | ≥ 4.10, < 4.14.251 | ≥ 4.15, < 4.19.211 | ≥ 4.20, < 5.4.153 | ≥ 5.5, < 5.10.73 | ≥ 5.11, < 5.14.12 | 5.15:rc1 | 5.15:rc2 | 5.15:rc3 | 5.15:rc4
References (8)
- https://git.kernel.org/stable/c/25e9f88c7e3cc35f5e3d3db199660d28a15df639
- https://git.kernel.org/stable/c/2250392d930bd0d989f24d355d6355b0150256e7
- https://git.kernel.org/stable/c/f4f502a04ee1e543825af78f47eb7785015cd9f6
- https://git.kernel.org/stable/c/2397b9e118721292429fea8807a698e71b94795f
- https://git.kernel.org/stable/c/414bb4ead1362ef2c8592db723c017258f213988
- https://git.kernel.org/stable/c/0d2dd40a7be61b89a7c99dae8ee96389d27b413a
- https://git.kernel.org/stable/c/064c2616234a7394867c924b5c1303974f3a4f4d
- https://git.kernel.org/stable/c/ca6e11c337daf7925ff8a2aac8e84490a8691905