In the Linux kernel, the following vulnerability has been resolved: fs: sysfs: Fix reference leak in sysfs_break_active_protection() The sysfs_break_active_protection() routine has an obvious reference leak in its error path. If the call to kernfs_find_and_get() fails then kn will be NULL, so the companion sysfs_unbreak_active_protection() routine won't get called (and would only cause an access violation by trying to dereference kn->parent if it was called). As a result, the reference to kobj acquired at the start of the function will never be released. Fix the leak by adding an explicit kobject_put() call when kn is NULL.
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: fs: sysfs: corrige la fuga de referencia en sysfs_break_active_protection() La rutina sysfs_break_active_protection() tiene una fuga de referencia obvia en su ruta de error. Si la llamada a kernfs_find_and_get() falla, entonces kn será NULL, por lo que no se llamará a la rutina complementaria sysfs_unbreak_active_protection() (y solo causaría una infracción de acceso al intentar eliminar la referencia a kn->parent si se llamara). Como resultado, la referencia a kobj adquirida al inicio de la función nunca se publicará. Solucione la fuga agregando una llamada explícita a kobject_put() cuando kn sea NULL.
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
NVD-CWE-Other
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3703f5fc0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c57afc0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c57b6c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c57ae80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3694e4f80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c2a64c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd385664cc0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd2dbf6e340> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c579900> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd319eb9180> | Operating System |
| linux | linux_kernel | 6.9 | <built-in method update of dict object at 0x7fd39c5780c0> | Operating System |
| linux | linux_kernel | 6.9 | <built-in method update of dict object at 0x7fd38661c6c0> | Operating System |
| linux | linux_kernel | 6.9 | <built-in method update of dict object at 0x7fd3412f5640> | Operating System |
| linux | linux_kernel | 6.9 | <built-in method update of dict object at 0x7fd3412f7f00> | 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:*:*:*:*:*:*:*:* |
| 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:6.9:rc1:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.9:rc4:*:*:*:*:*:* |