In the Linux kernel, the following vulnerability has been resolved: class: fix use-after-free in classregister() The lockclasskey is still registered and can be found in lockkeyshash hlist after subsysprivate is freed in error handler path.A task who iterate over the lockkeyshash later may cause use-after-free.So fix that up and unregister the lockclasskey before kfree(cp). On our platform, a driver fails to ksetregister 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 lockdepregisterkey+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: dumpbacktrace+0x1b0/0x1e4 showstack+0x2c/0x40 dumpstacklvl+0xac/0xe0 printreport+0x18c/0x4d8 kasanreport+0xe8/0x148 _hwasanstore8noabort+0x88/0x98 lockdepregisterkey+0x19c/0x1bc classregister+0x94/0x1ec initmodule+0xbc/0xf48 [rfkill] dooneinitcall+0x17c/0x72c doinitmodule+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 CONFIGKASANGENERIC is not set, Kasan reports invalid-access not use-after-free here.In this case, modprobe is manipulating the corrupted lockkeyshash hlish where lockclasskey is already freed before. It's worth noting that this only can happen if lockdep is enabled, which is not true for normal system.
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-azure-6.5-cloud-tools-6.5.0-1022", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-azure-6.5-headers-6.5.0-1022", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-azure-6.5-tools-6.5.0-1022", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-buildinfo-6.5.0-1022-azure", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-cloud-tools-6.5.0-1022-azure", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-headers-6.5.0-1022-azure", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-1022-azure", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-1022-azure-dbgsym", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-modules-6.5.0-1022-azure", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-modules-extra-6.5.0-1022-azure", "binary_version": "6.5.0-1022.23~22.04.1" }, { "binary_name": "linux-tools-6.5.0-1022-azure", "binary_version": "6.5.0-1022.23~22.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.5.0-1022-gcp", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-gcp-6.5-headers-6.5.0-1022", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-gcp-6.5-tools-6.5.0-1022", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-headers-6.5.0-1022-gcp", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-1022-gcp", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-1022-gcp-dbgsym", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-modules-6.5.0-1022-gcp", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-modules-extra-6.5.0-1022-gcp", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-modules-iwlwifi-6.5.0-1022-gcp", "binary_version": "6.5.0-1022.24~22.04.1" }, { "binary_name": "linux-tools-6.5.0-1022-gcp", "binary_version": "6.5.0-1022.24~22.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-buildinfo-6.5.0-41-generic-64k", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-cloud-tools-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-headers-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-headers-6.5.0-41-generic-64k", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-hwe-6.5-cloud-tools-6.5.0-41", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-hwe-6.5-cloud-tools-common", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-hwe-6.5-headers-6.5.0-41", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-hwe-6.5-tools-6.5.0-41", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-hwe-6.5-tools-common", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-hwe-6.5-tools-host", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-image-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-image-6.5.0-41-generic-dbgsym", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-image-unsigned-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-image-unsigned-6.5.0-41-generic-64k", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-image-unsigned-6.5.0-41-generic-64k-dbgsym", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-image-unsigned-6.5.0-41-generic-dbgsym", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-modules-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-modules-6.5.0-41-generic-64k", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-modules-extra-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-modules-ipu6-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-modules-ivsc-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-modules-iwlwifi-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-source-6.5.0", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-tools-6.5.0-41-generic", "binary_version": "6.5.0-41.41~22.04.2" }, { "binary_name": "linux-tools-6.5.0-41-generic-64k", "binary_version": "6.5.0-41.41~22.04.2" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.5.0-41-lowlatency", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-buildinfo-6.5.0-41-lowlatency-64k", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-cloud-tools-6.5.0-41-lowlatency", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-headers-6.5.0-41-lowlatency", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-headers-6.5.0-41-lowlatency-64k", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-41-lowlatency", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-41-lowlatency-64k", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-41-lowlatency-64k-dbgsym", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-41-lowlatency-dbgsym", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.5-cloud-tools-6.5.0-41", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.5-cloud-tools-common", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.5-headers-6.5.0-41", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.5-lib-rust-6.5.0-41-lowlatency", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.5-tools-6.5.0-41", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.5-tools-common", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-lowlatency-hwe-6.5-tools-host", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-modules-6.5.0-41-lowlatency", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-modules-6.5.0-41-lowlatency-64k", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-modules-iwlwifi-6.5.0-41-lowlatency", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-tools-6.5.0-41-lowlatency", "binary_version": "6.5.0-41.41.1~22.04.1" }, { "binary_name": "linux-tools-6.5.0-41-lowlatency-64k", "binary_version": "6.5.0-41.41.1~22.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.5.0-1021-nvidia", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-buildinfo-6.5.0-1021-nvidia-64k", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-headers-6.5.0-1021-nvidia", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-headers-6.5.0-1021-nvidia-64k", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-image-unsigned-6.5.0-1021-nvidia", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-image-unsigned-6.5.0-1021-nvidia-64k", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-image-unsigned-6.5.0-1021-nvidia-64k-dbgsym", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-image-unsigned-6.5.0-1021-nvidia-dbgsym", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-modules-6.5.0-1021-nvidia", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-modules-6.5.0-1021-nvidia-64k", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-modules-extra-6.5.0-1021-nvidia", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-modules-nvidia-fs-6.5.0-1021-nvidia", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-modules-nvidia-fs-6.5.0-1021-nvidia-64k", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-nvidia-6.5-headers-6.5.0-1021", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-nvidia-6.5-tools-6.5.0-1021", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-nvidia-6.5-tools-host", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-tools-6.5.0-1021-nvidia", "binary_version": "6.5.0-1021.22" }, { "binary_name": "linux-tools-6.5.0-1021-nvidia-64k", "binary_version": "6.5.0-1021.22" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-headers-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-image-unsigned-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-image-unsigned-6.5.0-1024-oem-dbgsym", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-modules-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-modules-ipu6-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-modules-ivsc-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-modules-iwlwifi-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-modules-usbio-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-oem-6.5-headers-6.5.0-1024", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-oem-6.5-lib-rust-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-oem-6.5-tools-6.5.0-1024", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-oem-6.5-tools-host", "binary_version": "6.5.0-1024.25" }, { "binary_name": "linux-tools-6.5.0-1024-oem", "binary_version": "6.5.0-1024.25" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.5.0-1024-oracle", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-buildinfo-6.5.0-1024-oracle-64k", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-headers-6.5.0-1024-oracle", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-headers-6.5.0-1024-oracle-64k", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-1024-oracle", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-1024-oracle-64k", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-1024-oracle-64k-dbgsym", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-image-unsigned-6.5.0-1024-oracle-dbgsym", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-modules-6.5.0-1024-oracle", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-modules-6.5.0-1024-oracle-64k", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-modules-extra-6.5.0-1024-oracle", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-modules-extra-6.5.0-1024-oracle-64k", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-oracle-6.5-headers-6.5.0-1024", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-oracle-6.5-tools-6.5.0-1024", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-tools-6.5.0-1024-oracle", "binary_version": "6.5.0-1024.24~22.04.1" }, { "binary_name": "linux-tools-6.5.0-1024-oracle-64k", "binary_version": "6.5.0-1024.24~22.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.5.0-40-generic", "binary_version": "6.5.0-40.40.1~22.04.1" }, { "binary_name": "linux-headers-6.5.0-40-generic", "binary_version": "6.5.0-40.40.1~22.04.1" }, { "binary_name": "linux-image-6.5.0-40-generic", "binary_version": "6.5.0-40.40.1~22.04.1" }, { "binary_name": "linux-image-6.5.0-40-generic-dbgsym", "binary_version": "6.5.0-40.40.1~22.04.1" }, { "binary_name": "linux-modules-6.5.0-40-generic", "binary_version": "6.5.0-40.40.1~22.04.1" }, { "binary_name": "linux-modules-extra-6.5.0-40-generic", "binary_version": "6.5.0-40.40.1~22.04.1" }, { "binary_name": "linux-riscv-6.5-headers-6.5.0-40", "binary_version": "6.5.0-40.40.1~22.04.1" }, { "binary_name": "linux-riscv-6.5-tools-6.5.0-40", "binary_version": "6.5.0-40.40.1~22.04.1" }, { "binary_name": "linux-tools-6.5.0-40-generic", "binary_version": "6.5.0-40.40.1~22.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.5.0-1015-starfive", "binary_version": "6.5.0-1015.16~22.04.1" }, { "binary_name": "linux-headers-6.5.0-1015-starfive", "binary_version": "6.5.0-1015.16~22.04.1" }, { "binary_name": "linux-image-6.5.0-1015-starfive", "binary_version": "6.5.0-1015.16~22.04.1" }, { "binary_name": "linux-image-6.5.0-1015-starfive-dbgsym", "binary_version": "6.5.0-1015.16~22.04.1" }, { "binary_name": "linux-modules-6.5.0-1015-starfive", "binary_version": "6.5.0-1015.16~22.04.1" }, { "binary_name": "linux-modules-extra-6.5.0-1015-starfive", "binary_version": "6.5.0-1015.16~22.04.1" }, { "binary_name": "linux-starfive-6.5-headers-6.5.0-1015", "binary_version": "6.5.0-1015.16~22.04.1" }, { "binary_name": "linux-starfive-6.5-tools-6.5.0-1015", "binary_version": "6.5.0-1015.16~22.04.1" }, { "binary_name": "linux-tools-6.5.0-1015-starfive", "binary_version": "6.5.0-1015.16~22.04.1" } ] }
{ "availability": "Available with Ubuntu Pro: https://ubuntu.com/pro", "binaries": [ { "binary_name": "linux-buildinfo-6.8.0-2001-raspi-realtime", "binary_version": "6.8.0-2001.1" }, { "binary_name": "linux-headers-6.8.0-2001-raspi-realtime", "binary_version": "6.8.0-2001.1" }, { "binary_name": "linux-image-6.8.0-2001-raspi-realtime", "binary_version": "6.8.0-2001.1" }, { "binary_name": "linux-image-6.8.0-2001-raspi-realtime-dbgsym", "binary_version": "6.8.0-2001.1" }, { "binary_name": "linux-modules-6.8.0-2001-raspi-realtime", "binary_version": "6.8.0-2001.1" }, { "binary_name": "linux-raspi-realtime-headers-6.8.0-2001", "binary_version": "6.8.0-2001.1" }, { "binary_name": "linux-raspi-realtime-tools-6.8.0-2001", "binary_version": "6.8.0-2001.1" }, { "binary_name": "linux-tools-6.8.0-2001-raspi-realtime", "binary_version": "6.8.0-2001.1" } ] }