CVE-2023-52468 – class: fix use-after-free in class_register()
https://notcve.org/view.php?id=CVE-2023-52468
In the Linux kernel, the following vulnerability has been resolved: class: fix use-after-free in class_register() The lock_class_key is still registered and can be found in lock_keys_hash hlist after subsys_private is freed in error handler path.A task who iterate over the lock_keys_hash later may cause use-after-free.So fix that up and unregister the lock_class_key before kfree(cp). On our platform, a driver fails to kset_register because of creating duplicate filename '/class/xxx'.With Kasan enabled, it prints a invalid-access bug report. KASAN bug report: BUG: KASAN: invalid-access in lockdep_register_key+0x19c/0x1bc Write of size 8 at addr 15ffff808b8c0368 by task modprobe/252 Pointer tag: [15], memory tag: [fe] CPU: 7 PID: 252 Comm: modprobe Tainted: G W 6.6.0-mainline-maybe-dirty #1 Call trace: dump_backtrace+0x1b0/0x1e4 show_stack+0x2c/0x40 dump_stack_lvl+0xac/0xe0 print_report+0x18c/0x4d8 kasan_report+0xe8/0x148 __hwasan_store8_noabort+0x88/0x98 lockdep_register_key+0x19c/0x1bc class_register+0x94/0x1ec init_module+0xbc/0xf48 [rfkill] do_one_initcall+0x17c/0x72c do_init_module+0x19c/0x3f8 ... Memory state around the buggy address: ffffff808b8c0100: 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a 8a ffffff808b8c0200: 8a 8a 8a 8a 8a 8a 8a 8a fe fe fe fe fe fe fe fe >ffffff808b8c0300: fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe ^ ffffff808b8c0400: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 As CONFIG_KASAN_GENERIC is not set, Kasan reports invalid-access not use-after-free here.In this case, modprobe is manipulating the corrupted lock_keys_hash hlish where lock_class_key is already freed before. It's worth noting that this only can happen if lockdep is enabled, which is not true for normal system. En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: clase: corrige use-after-free en class_register() Lock_class_key todavía está registrada y se puede encontrar en lock_keys_hash hlist después de que subsys_private se libere en la ruta del controlador de errores. Una tarea que itera sobre Lock_keys_hash más tarde puede causar use-after-free. Así que solucione eso y cancele el registro de lock_class_key antes de kfree (cp). En nuestra plataforma, un controlador no logra kset_register debido a que crea un nombre de archivo duplicado '/class/xxx'. • https://git.kernel.org/stable/c/dcfbb67e48a2becfce7990386e985b9c45098ee5 https://git.kernel.org/stable/c/b57196a5ec5e4c0ffecde8348b085b778c7dce04 https://git.kernel.org/stable/c/0f1486dafca3398c4c46b9f6e6452fa27e73b559 https://git.kernel.org/stable/c/93ec4a3b76404bce01bd5c9032bef5df6feb1d62 • CWE-416: Use After Free •
CVE-2023-52467 – mfd: syscon: Fix null pointer dereference in of_syscon_register()
https://notcve.org/view.php?id=CVE-2023-52467
In the Linux kernel, the following vulnerability has been resolved: mfd: syscon: Fix null pointer dereference in of_syscon_register() kasprintf() returns a pointer to dynamically allocated memory which can be NULL upon failure. En el kernel de Linux, se resolvió la siguiente vulnerabilidad: mfd: syscon: corrige la desreferencia del puntero nulo en of_syscon_register() kasprintf() devuelve un puntero a la memoria asignada dinámicamente que puede ser NULL en caso de falla. • https://git.kernel.org/stable/c/e15d7f2b81d2e7d93115d46fa931b366c1cdebc2 https://git.kernel.org/stable/c/927626a2073887ee30ba00633260d4d203f8e875 https://git.kernel.org/stable/c/c3e3a2144bf50877551138ffce9f7aa6ddfe385b https://git.kernel.org/stable/c/527e8c5f3d00299822612c495d5adf1f8f43c001 https://git.kernel.org/stable/c/3ef1130deee98997275904d9bfc37af75e1e906c https://git.kernel.org/stable/c/7f2c410ac470959b88e03dadd94b7a0b71df7973 https://git.kernel.org/stable/c/41673c66b3d0c09915698fec5c13b24336f18dd1 https://lists.debian.org/debian-lts-announce/2024/06/ • CWE-476: NULL Pointer Dereference •
CVE-2023-52465 – power: supply: Fix null pointer dereference in smb2_probe
https://notcve.org/view.php?id=CVE-2023-52465
In the Linux kernel, the following vulnerability has been resolved: power: supply: Fix null pointer dereference in smb2_probe devm_kasprintf and devm_kzalloc return a pointer to dynamically allocated memory which can be NULL upon failure. En el kernel de Linux, se resolvió la siguiente vulnerabilidad: power: Supply: se corrigió la desreferencia del puntero nulo en smb2_probe, devm_kasprintf y devm_kzalloc devuelven un puntero a la memoria asignada dinámicamente que puede ser NULL en caso de falla. • https://git.kernel.org/stable/c/8648aeb5d7b70e13264ff5f444f22081d37d4670 https://git.kernel.org/stable/c/e2717302fbc20f148bcda362facee0444b949a3a https://git.kernel.org/stable/c/bd3d2ec447ede9da822addf3960a5f4275e3ae76 https://git.kernel.org/stable/c/88f04bc3e737155e13caddf0ba8ed19db87f0212 • CWE-476: NULL Pointer Dereference •
CVE-2024-26605 – PCI/ASPM: Fix deadlock when enabling ASPM
https://notcve.org/view.php?id=CVE-2024-26605
In the Linux kernel, the following vulnerability has been resolved: PCI/ASPM: Fix deadlock when enabling ASPM A last minute revert in 6.7-final introduced a potential deadlock when enabling ASPM during probe of Qualcomm PCIe controllers as reported by lockdep: ============================================ WARNING: possible recursive locking detected 6.7.0 #40 Not tainted -------------------------------------------- kworker/u16:5/90 is trying to acquire lock: ffffacfa78ced000 (pci_bus_sem){++++}-{3:3}, at: pcie_aspm_pm_state_change+0x58/0xdc but task is already holding lock: ffffacfa78ced000 (pci_bus_sem){++++}-{3:3}, at: pci_walk_bus+0x34/0xbc other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(pci_bus_sem); lock(pci_bus_sem); *** DEADLOCK *** Call trace: print_deadlock_bug+0x25c/0x348 __lock_acquire+0x10a4/0x2064 lock_acquire+0x1e8/0x318 down_read+0x60/0x184 pcie_aspm_pm_state_change+0x58/0xdc pci_set_full_power_state+0xa8/0x114 pci_set_power_state+0xc4/0x120 qcom_pcie_enable_aspm+0x1c/0x3c [pcie_qcom] pci_walk_bus+0x64/0xbc qcom_pcie_host_post_init_2_7_0+0x28/0x34 [pcie_qcom] The deadlock can easily be reproduced on machines like the Lenovo ThinkPad X13s by adding a delay to increase the race window during asynchronous probe where another thread can take a write lock. Add a new pci_set_power_state_locked() and associated helper functions that can be called with the PCI bus semaphore held to avoid taking the read lock twice. En el kernel de Linux, se resolvió la siguiente vulnerabilidad: PCI/ASPM: solucionó el punto muerto al habilitar ASPM. Una reversión de último minuto en 6.7-final introdujo un posible punto muerto al habilitar ASPM durante la prueba de los controladores PCIe de Qualcomm, según lo informado por lockdep: === ========================================= ADVERTENCIA: posible bloqueo recursivo detectado 6.7.0 #40 No contaminado -------------------------------------------- kworker/ u16:5/90 está intentando adquirir el bloqueo: ffffacfa78ced000 (pci_bus_sem){++++}-{3:3}, en: pcie_aspm_pm_state_change+0x58/0xdc pero la tarea ya mantiene el bloqueo: ffffacfa78ced000 (pci_bus_sem){+++ +}-{3:3}, en: pci_walk_bus+0x34/0xbc otra información que podría ayudarnos a depurar esto: Posible escenario de bloqueo inseguro: CPU0 ---- lock(pci_bus_sem); bloquear(pci_bus_sem); *** DEADLOCK *** Rastreo de llamadas: print_deadlock_bug+0x25c/0x348 __lock_acquire+0x10a4/0x2064 lock_acquire+0x1e8/0x318 down_read+0x60/0x184 pcie_aspm_pm_state_change+0x58/0xdc pci_set_full_power_state+0xa8/0x114 pci_ set_power_state+0xc4/0x120 qcom_pcie_enable_aspm+0x1c/0x3c [pcie_qcom] pci_walk_bus+0x64/0xbc qcom_pcie_host_post_init_2_7_0+0x28/0x34 [pcie_qcom] El punto muerto se puede reproducir fácilmente en máquinas como la Lenovo ThinkPad X13s agregando un retraso para aumentar la ventana de carrera durante la prueba asíncrona donde otro hilo puede tomar un bloqueo de escritura. Agregue un nuevo pci_set_power_state_locked() y funciones auxiliares asociadas que se pueden llamar con el semáforo del bus PCI retenido para evitar tomar el bloqueo de lectura dos veces. • https://git.kernel.org/stable/c/b9c370b61d735a0e5390c42771e7eb21413f7868 https://git.kernel.org/stable/c/8cc22ba3f77c59df5f1ac47d62df51efb28cd868 https://git.kernel.org/stable/c/f93e71aea6c60ebff8adbd8941e678302d377869 https://git.kernel.org/stable/c/1f2f662c8bec75d1311e063efaa9107435cf16c8 https://git.kernel.org/stable/c/0f7908a016c092cfdaa16d785fa5099d867bc1a3 https://git.kernel.org/stable/c/b0f4478838be1f1d330061201898fef65bf8fd7c https://git.kernel.org/stable/c/ef90508574d7af48420bdc5f7b9a4f1cdd26bc70 https://git.kernel.org/stable/c/1e560864159d002b453da42bd2c13a180 • CWE-667: Improper Locking •
CVE-2024-26604 – Revert "kobject: Remove redundant checks for whether ktype is NULL"
https://notcve.org/view.php?id=CVE-2024-26604
In the Linux kernel, the following vulnerability has been resolved: Revert "kobject: Remove redundant checks for whether ktype is NULL" This reverts commit 1b28cb81dab7c1eedc6034206f4e8d644046ad31. It is reported to cause problems, so revert it for now until the root cause can be found. En el kernel de Linux, se resolvió la siguiente vulnerabilidad: Revertir "kobject: eliminar comprobaciones redundantes para saber si ktype es NULL" Esto revierte el commit 1b28cb81dab7c1eedc6034206f4e8d644046ad31. Se informa que causa problemas, así que revíselo por ahora hasta que se pueda encontrar la causa raíz. • https://git.kernel.org/stable/c/1b28cb81dab7c1eedc6034206f4e8d644046ad31 https://git.kernel.org/stable/c/7f414d306320f837cc3df96cf52161cb8290fb1b https://git.kernel.org/stable/c/b746d52ce7bcac325a2fa264216ead85b7fbbfaa https://git.kernel.org/stable/c/3ca8fbabcceb8bfe44f7f50640092fd8f1de375c • CWE-476: NULL Pointer Dereference •