// For flags

CVE-2023-52774

s390/dasd: protect device queue against concurrent access

Severity Score

5.5
*CVSS v3

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Track
*SSVC
Descriptions

In the Linux kernel, the following vulnerability has been resolved: s390/dasd: protect device queue against concurrent access In dasd_profile_start() the amount of requests on the device queue are
counted. The access to the device queue is unprotected against
concurrent access. With a lot of parallel I/O, especially with alias
devices enabled, the device queue can change while dasd_profile_start()
is accessing the queue. In the worst case this leads to a kernel panic
due to incorrect pointer accesses. Fix this by taking the device lock before accessing the queue and
counting the requests. Additionally the check for a valid profile data
pointer can be done earlier to avoid unnecessary locking in a hot path.

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: s390/dasd: protege la cola de dispositivos contra el acceso concurrente. En dasd_profile_start() se cuenta la cantidad de solicitudes en la cola de dispositivos. El acceso a la cola de dispositivos no está protegido contra el acceso simultáneo. Con muchas E/S paralelas, especialmente con dispositivos alias habilitados, la cola de dispositivos puede cambiar mientras dasd_profile_start() accede a la cola. En el peor de los casos, esto provoca un pánico en el kernel debido a accesos incorrectos al puntero. Solucione este problema bloqueando el dispositivo antes de acceder a la cola y contando las solicitudes. Además, la verificación de un puntero de datos de perfil válido se puede realizar antes para evitar bloqueos innecesarios en una ruta activa.

In the Linux kernel, the following vulnerability has been resolved: s390/dasd: protect device queue against concurrent access In dasd_profile_start() the amount of requests on the device queue are counted. The access to the device queue is unprotected against concurrent access. With a lot of parallel I/O, especially with alias devices enabled, the device queue can change while dasd_profile_start() is accessing the queue. In the worst case this leads to a kernel panic due to incorrect pointer accesses. Fix this by taking the device lock before accessing the queue and counting the requests. Additionally the check for a valid profile data pointer can be done earlier to avoid unnecessary locking in a hot path.

*Credits: N/A
CVSS Scores
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
Attack Vector
Local
Attack Complexity
Low
Authentication
Single
Confidentiality
None
Integrity
None
Availability
Complete
* Common Vulnerability Scoring System
SSVC
  • Decision:Track
Exploitation
None
Automatable
No
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-05-21 CVE Reserved
  • 2024-05-21 CVE Published
  • 2024-12-19 CVE Updated
  • 2025-03-19 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 3.1 < 4.14.332
Search vendor "Linux" for product "Linux Kernel" and version " >= 3.1 < 4.14.332"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 3.1 < 4.19.301
Search vendor "Linux" for product "Linux Kernel" and version " >= 3.1 < 4.19.301"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 3.1 < 5.4.263
Search vendor "Linux" for product "Linux Kernel" and version " >= 3.1 < 5.4.263"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 3.1 < 5.10.203
Search vendor "Linux" for product "Linux Kernel" and version " >= 3.1 < 5.10.203"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 3.1 < 5.15.141
Search vendor "Linux" for product "Linux Kernel" and version " >= 3.1 < 5.15.141"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 3.1 < 6.1.65
Search vendor "Linux" for product "Linux Kernel" and version " >= 3.1 < 6.1.65"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 3.1 < 6.6.4
Search vendor "Linux" for product "Linux Kernel" and version " >= 3.1 < 6.6.4"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 3.1 < 6.7
Search vendor "Linux" for product "Linux Kernel" and version " >= 3.1 < 6.7"
en
Affected