CVEvulnerability
CVE-2023-52505
4.7 MEDIUM
Official page ↗
- Status
- Analyzed
- Published
- 2024-03-02
- Last modified
- 2026-06-17
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS 3.1 ([email protected])
- 4.7 MEDIUM — CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-667
Description
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 configurations
• linux linux kernel (>= 5.18 < 6.1.59)
• linux linux kernel (>= 6.2 < 6.5.8)
• linux linux kernel 6.6
Related
Weakness · CWE (1)
- CWE-667 Improper Locking weakness
References
- https://git.kernel.org/stable/c/139ad1143151a07be93bf741d4ea7c89e59f89ce Patch
- https://git.kernel.org/stable/c/6f901f8448c6b25ed843796b114471d2a3fc5dfb Patch
- https://git.kernel.org/stable/c/c2d7c79898b427d263c64a4841987eec131f2d4e Patch
- https://git.kernel.org/stable/c/139ad1143151a07be93bf741d4ea7c89e59f89ce Patch
- https://git.kernel.org/stable/c/6f901f8448c6b25ed843796b114471d2a3fc5dfb Patch
- https://git.kernel.org/stable/c/c2d7c79898b427d263c64a4841987eec131f2d4e Patch