In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: fix memory leaks and invalid access at probe error path Deinitialize at reverse order when probe fails. When init_sw_vars fails, rtl_deinit_core should not be called, specially now that it destroys the rtl_wq workqueue. And call rtl_pci_deinit and deinit_sw_vars, otherwise, memory will be leaked. Remove pci_set_drvdata call as it will already be cleaned up by the core driver code and could lead to memory leaks too. cf. commit 8d450935ae7f ("wireless: rtlwifi: remove unnecessary pci_set_drvdata()") and commit 3d86b93064c7 ("rtlwifi: Fix PCI probe error path orphaned memory").
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: wifi: rtlwifi: corrige fugas de memoria y acceso no válido en la ruta de error de la sonda Desinicializar en orden inverso cuando la sonda falla. Cuando init_sw_vars falla, no se debe llamar a rtl_deinit_core, especialmente ahora que destruye la cola de trabajo rtl_wq. Y llame a rtl_pci_deinit y deinit_sw_vars, de lo contrario, se perderá memoria. Elimine la llamada a pci_set_drvdata ya que ya estará limpiada por el código del controlador central y también podría provocar fugas de memoria. cf. commit 8d450935ae7f ("wireless: rtlwifi: eliminar pci_set_drvdata() innecesario") y commit 3d86b93064c7 ("rtlwifi: corregir la memoria huérfana en la ruta de error de la sonda PCI").
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | LOW |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | NONE |
| Integrity Impact | NONE |
| Availability Impact | HIGH |
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
CWE-401
|
| 134c704f-9b21-4f2e-91b3-4a467353bcc0 | Secondary |
en
CWE-401
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c5792c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd386742fc0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3855d8680> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3691aad00> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c5795c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c578f80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36041bcc0> | Operating System |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |