// For flags

CVE-2023-52457

serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed

Severity Score

7.8
*CVSS v3.1

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:

serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed

Returning an error code from .remove() makes the driver core emit the
little helpful error message:

remove callback returned a non-zero value. This will be ignored.

and then remove the device anyhow. So all resources that were not freed
are leaked in this case. Skipping serial8250_unregister_port() has the
potential to keep enough of the UART around to trigger a use-after-free.

So replace the error return (and with it the little helpful error
message) by a more useful error message and continue to cleanup.

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: serial: 8250: omap: no omita la liberación de recursos si pm_runtime_resume_and_get() falla. Devolver un código de error desde .remove() hace que el núcleo del controlador emita el pequeño y útil mensaje de error: eliminar la devolución de llamada devolvió un valor distinto de cero. Esto será ignorado. y luego retire el dispositivo de todos modos. Entonces, en este caso, todos los recursos que no fueron liberados se filtran. Omitir serial8250_unregister_port() tiene el potencial de mantener suficiente UART disponible para desencadenar un use-after-free. Así que reemplace el retorno de error (y con él el pequeño mensaje de error útil) por un mensaje de error más útil y continúe con la limpieza.

*Credits: N/A
CVSS Scores
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
* Common Vulnerability Scoring System
SSVC
  • Decision:Track
Exploitation
None
Automatable
No
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-02-20 CVE Reserved
  • 2024-02-23 CVE Published
  • 2024-05-01 EPSS Updated
  • 2024-12-19 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-416: Use After Free
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"
>= 5.4.225 < 5.4.268
Search vendor "Linux" for product "Linux Kernel" and version " >= 5.4.225 < 5.4.268"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 5.10.156 < 5.10.209
Search vendor "Linux" for product "Linux Kernel" and version " >= 5.10.156 < 5.10.209"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 5.15.80 < 5.15.148
Search vendor "Linux" for product "Linux Kernel" and version " >= 5.15.80 < 5.15.148"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 6.1 < 6.1.75
Search vendor "Linux" for product "Linux Kernel" and version " >= 6.1 < 6.1.75"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 6.1 < 6.6.14
Search vendor "Linux" for product "Linux Kernel" and version " >= 6.1 < 6.6.14"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 6.1 < 6.7.2
Search vendor "Linux" for product "Linux Kernel" and version " >= 6.1 < 6.7.2"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
>= 6.1 < 6.8
Search vendor "Linux" for product "Linux Kernel" and version " >= 6.1 < 6.8"
en
Affected
Linux
Search vendor "Linux"
Linux Kernel
Search vendor "Linux" for product "Linux Kernel"
6.0.10
Search vendor "Linux" for product "Linux Kernel" and version "6.0.10"
en
Affected