CVE-2023-52457
serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
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.
CVSS Scores
SSVC
- Decision:Track
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
References (13)
URL | Date | SRC |
---|
URL | Date | SRC |
---|
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
|