CVE-2023-54065

Summary

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

net: dsa: realtek: fix out-of-bounds access

The probe function sets priv->chip_data to (void *)priv + sizeof(*priv) with the expectation that priv has enough trailing space.

However, only realtek-smi actually allocated this chip_data space. Do likewise in realtek-mdio to fix out-of-bounds accesses.

These accesses likely went unnoticed so far, because of an (unused) buf[4096] member in struct realtek_priv, which caused kmalloc to round up the allocated buffer to a big enough size, so nothing of value was overwritten. With a different allocator (like in the barebox bootloader port of the driver) or with KASAN, the memory corruption becomes quickly apparent.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxaac94001067da183455d6d37959892744fa01d9d < cc0f9bb99735d2b68fac68f37b585d615728ce5baffected
LinuxLinuxaac94001067da183455d6d37959892744fa01d9d < fe668aa499b4b95425044ba11af9609db6ecf466affected
LinuxLinuxaac94001067da183455d6d37959892744fa01d9d < b93eb564869321d0dffaf23fcc5c88112ed62466affected
LinuxLinux5.18affected
LinuxLinux0 < 5.18unaffected
LinuxLinux6.1.23 <= 6.1.*unaffected
LinuxLinux6.2.10 <= 6.2.*unaffected
LinuxLinux6.3 <= *unaffected

Weaknesses

References