CVE-2023-52505

Summary

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

phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers

The protocol converter configuration registers PCC8, PCCC, PCCD (implemented by the driver), as well as others, control protocol converters from multiple lanes (each represented as a different struct phy). So, if there are simultaneous calls to phy_set_mode_ext() to lanes sharing the same PCC register (either for the "old" or for the "new" protocol), corruption of the values programmed to hardware is possible, because lynx_28g_rmw() has no locking.

Add a spinlock in the struct lynx_28g_priv shared by all lanes, and take the global spinlock from the phy_ops :: set_mode() implementation. There are no other callers which modify PCC registers.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8f73b37cf3fbda67ea1e579c3b5785da4e7aa2e3 < 6f901f8448c6b25ed843796b114471d2a3fc5dfbaffected
LinuxLinux8f73b37cf3fbda67ea1e579c3b5785da4e7aa2e3 < c2d7c79898b427d263c64a4841987eec131f2d4eaffected
LinuxLinux8f73b37cf3fbda67ea1e579c3b5785da4e7aa2e3 < 139ad1143151a07be93bf741d4ea7c89e59f89ceaffected
LinuxLinux5.18affected
LinuxLinux0 < 5.18unaffected
LinuxLinux6.1.59 <= 6.1.*unaffected
LinuxLinux6.5.8 <= 6.5.*unaffected
LinuxLinux6.6 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

CVE Program Container

Additional References

References