Bug 1220830 (CVE-2023-52505) - VUL-0: CVE-2023-52505: kernel: phy: lynx-28g: concurrent calls to phy_set_mode_ext() may corrupt shared registers
Summary: VUL-0: CVE-2023-52505: kernel: phy: lynx-28g: concurrent calls to phy_set_mod...
Status: RESOLVED FIXED
Alias: CVE-2023-52505
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P5 - None : Normal
Target Milestone: ---
Assignee: Kernel Bugs
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/396054/
Whiteboard: CVSSv3.1:SUSE:CVE-2023-52505:4.7:(AV:...
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-04 09:26 UTC by SMASH SMASH
Modified: 2024-06-25 18:14 UTC (History)
1 user (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description SMASH SMASH 2024-03-04 09:26:11 UTC
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.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2023-52505
https://git.kernel.org/stable/c/139ad1143151a07be93bf741d4ea7c89e59f89ce
https://git.kernel.org/stable/c/6f901f8448c6b25ed843796b114471d2a3fc5dfb
https://git.kernel.org/stable/c/c2d7c79898b427d263c64a4841987eec131f2d4e
https://www.cve.org/CVERecord?id=CVE-2023-52505
Comment 1 Carlos López 2024-03-04 09:28:10 UTC
Already fixed in SLE15-SP6 and newer. Older branches not affected. Closing.