CVE-2023-52505

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc5:*:*:*:*:*:*

History

13 Jan 2025, 18:48

Type Values Removed Values Added
CPE cpe:2.3:o:linux:linux_kernel:6.6:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.6:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CWE CWE-667
First Time Linux
Linux linux Kernel
References () https://git.kernel.org/stable/c/139ad1143151a07be93bf741d4ea7c89e59f89ce - () https://git.kernel.org/stable/c/139ad1143151a07be93bf741d4ea7c89e59f89ce - Patch
References () https://git.kernel.org/stable/c/6f901f8448c6b25ed843796b114471d2a3fc5dfb - () https://git.kernel.org/stable/c/6f901f8448c6b25ed843796b114471d2a3fc5dfb - Patch
References () https://git.kernel.org/stable/c/c2d7c79898b427d263c64a4841987eec131f2d4e - () https://git.kernel.org/stable/c/c2d7c79898b427d263c64a4841987eec131f2d4e - Patch
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 4.7

21 Nov 2024, 08:39

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/139ad1143151a07be93bf741d4ea7c89e59f89ce - () https://git.kernel.org/stable/c/139ad1143151a07be93bf741d4ea7c89e59f89ce -
References () https://git.kernel.org/stable/c/6f901f8448c6b25ed843796b114471d2a3fc5dfb - () https://git.kernel.org/stable/c/6f901f8448c6b25ed843796b114471d2a3fc5dfb -
References () https://git.kernel.org/stable/c/c2d7c79898b427d263c64a4841987eec131f2d4e - () https://git.kernel.org/stable/c/c2d7c79898b427d263c64a4841987eec131f2d4e -
Summary
  • (es) En el kernel de Linux se ha resuelto la siguiente vulnerabilidad: phy: lynx-28g: serializa llamadas concurrentes phy_set_mode_ext() a registros compartidos La configuración del convertidor de protocolo registra PCC8, PCCC, PCCD (implementado por el controlador), así como otros, control convertidores de protocolo de múltiples carriles (cada uno representado como una estructura física diferente). Por lo tanto, si hay llamadas simultáneas a phy_set_mode_ext() a carriles que comparten el mismo registro PCC (ya sea para el protocolo "antiguo" o para el "nuevo"), es posible que se dañen los valores programados en el hardware, porque lynx_28g_rmw() no tiene cierre. Agregue un spinlock en la estructura lynx_28g_priv compartida por todos los carriles y tome el spinlock global de la implementación phy_ops :: set_mode(). No hay otros llamantes que modifiquen los registros PCC.

02 Mar 2024, 22:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-03-02 22:15

Updated : 2025-01-13 18:48


NVD link : CVE-2023-52505

Mitre link : CVE-2023-52505

CVE.ORG link : CVE-2023-52505


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-667

Improper Locking