In the Linux kernel, the following vulnerability has been resolved:
ext4: fix uninitialized ratelimit_state->lock access in __ext4_fill_super()
In the following concurrency we will access the uninitialized rs->lock:
ext4_fill_super ext4_register_sysfs // sysfs registered msg_ratelimit_interval_ms // Other processes modify rs->interval to // non-zero via msg_ratelimit_interval_ms ext4_orphan_cleanup ext4_msg(sb, KERN_INFO, "Errors on filesystem, " __ext4_msg ___ratelimit(&(EXT4_SB(sb)->s_msg_ratelimit_state) if (!rs->interval) // do nothing if interval is 0 return 1; raw_spin_trylock_irqsave(&rs->lock, flags) raw_spin_trylock(lock) _raw_spin_trylock __raw_spin_trylock spin_acquire(&lock->dep_map, 0, 1, _RET_IP_) lock_acquire __lock_acquire register_lock_class assign_lock_key dump_stack(); ratelimit_state_init(&sbi->s_msg_ratelimit_state, 5 * HZ, 10); raw_spin_lock_init(&rs->lock); // init rs->lock here
and get the following dump_stack:
========================================================= INFO: trying to register non-static key. The code is fine but needs lockdep annotation, or maybe you didn't initialize this object before use? turning off the locking correctness validator. CPU: 12 PID: 753 Comm: mount Tainted: G E 6.7.0-rc6-next-20231222 #504 [...] Call Trace: dump_stack_lvl+0xc5/0x170 dump_stack+0x18/0x30 register_lock_class+0x740/0x7c0 __lock_acquire+0x69/0x13a0 lock_acquire+0x120/0x450 _raw_spin_trylock+0x98/0xd0 ___ratelimit+0xf6/0x220 __ext4_msg+0x7f/0x160 [ext4] ext4_orphan_cleanup+0x665/0x740 [ext4] __ext4_fill_super+0x21ea/0x2b10 [ext4] ext4_fill_super+0x14d/0x360 [ext4] [...] =========================================================
Normally interval is 0 until s_msg_ratelimit_state is initialized, so ___ratelimit() does nothing. But registering sysfs precedes initializing rs->lock, so it is possible to change rs->interval to a non-zero value via the msg_ratelimit_interval_ms interface of sysfs while rs->lock is uninitialized, and then a call to ext4_msg triggers the problem by accessing an uninitialized rs->lock. Therefore register sysfs after all initializations are complete to avoid such problems.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-64k-debug-coreUpgrade kernel-rt-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-modules-extraUpgrade kernel-abi-stablelistsUpgrade kernel-rt-kvmUpgrade kernel-64k-debugUpgrade kernel-zfcpdump-coreUpgrade kernel-64k-coreUpgrade kernel-toolsUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-develUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-modules-extraUpgrade bpftoolUpgrade rvUpgrade kernel-debug-modulesUpgrade kernel-rtUpgrade kernel-64k-debug-modules-coreUpgrade kernel-docUpgrade perfUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-64k-modules-extraUpgrade kernel-devel-matchedUpgrade kernel-rt-debug-coreUpgrade kernel-64k-devel-matchedUpgrade kernel-64k-debug-modules-extraUpgrade kernel-rt-debug-modules-coreUpgrade kernel-64k-debug-develUpgrade kernel-64kUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-modules-extraUpgrade rtlaUpgrade kernel-64k-modules-coreUpgrade kernel-tools-libsUpgrade kernel-zfcpdump-develUpgrade kernel-rt-debugUpgrade kernel-debug-develUpgrade kernel-uki-virtUpgrade kernel-64k-develUpgrade kernel-debug-uki-virtUpgrade kernel-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-rt-coreUpgrade kernel-modules-coreUpgrade python3-perfUpgrade kernel-cross-headersUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-64k-modulesUpgrade kernel-debug-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-64k-debug-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-debug-modules-coreUpgrade kernelUpgrade kernel-headersUpgrade kernel-develUpgrade kernel-modulesUpgrade libperfUpgrade kernel-coreUpgrade kernel-debug | Sep 26, 2024 | Jul 12, 2024 |
| Debian | — | Upgrade linuxNo solution exists | May 15, 2025 | Jul 12, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade python3-perfUpgrade kernel-tools-libs | Oct 8, 2024 | Jul 12, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel | Oct 9, 2024 | Jul 12, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-tools | Oct 8, 2024 | Jul 12, 2024 |
| Oracle_linux | — | Upgrade kernel | Oct 16, 2024 | Jul 12, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Sep 25, 2024 | Jul 12, 2024 |
| Rocky_linux | — | Upgrade kernel-rt-debug-modulesUpgrade kernel-rt-debuginfoUpgrade kernel-modules-extraUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-debug-coreUpgrade kernel-zfcpdump-develUpgrade perf-debuginfoUpgrade rvUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-debuginfoUpgrade kernel-tools-libsUpgrade kernel-rt-debug-develUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debug-modulesUpgrade kernel-rt-develUpgrade kernel-debugUpgrade kernel-rt-debugUpgrade python3-perf-debuginfoUpgrade kernel-uki-virtUpgrade kernel-modules-coreUpgrade kernel-debug-modules-extraUpgrade kernel-rtUpgrade kernel-debug-uki-virtUpgrade kernel-zfcpdumpUpgrade kernel-coreUpgrade kernel-debug-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-rt-modules-coreUpgrade kernel-toolsUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-debug-modules-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-modulesUpgrade python3-perfUpgrade libperf-debuginfoUpgrade kernel-develUpgrade rtlaUpgrade kernel-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-debuginfoUpgrade kernel-rt-kvmUpgrade kernelUpgrade kernel-debug-develUpgrade kernel-debug-devel-matchedUpgrade perfUpgrade libperfUpgrade kernel-rt-coreUpgrade kernel-rt-debug-coreUpgrade bpftoolUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-tools-libs-develUpgrade kernel-headersUpgrade kernel-cross-headers | Oct 2, 2024 | Jul 12, 2024 |
| Suse | — | Upgrade kernel-rtUpgrade kernel-kvmsmall-vdsoUpgrade kselftests-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade gfs2-kmp-64kbUpgrade dtb-broadcomUpgrade kernel-obs-qaUpgrade kernel-symsUpgrade kernel-default-manUpgrade kernel-syms-azureUpgrade dtb-freescaleUpgrade reiserfs-kmp-azureUpgrade dtb-qcomUpgrade kernel-rt_debug-vdsoUpgrade kernel-source-azureUpgrade dlm-kmp-64kbUpgrade kernel-rt-livepatch-develUpgrade dtb-amazonUpgrade kernel-rt_debugUpgrade kernel-kvmsmallUpgrade kernel-rt-vdsoUpgrade dtb-exynosUpgrade kernel-azure-baseUpgrade kernel-devel-azureUpgrade gfs2-kmp-rtUpgrade kernel-docs-htmlUpgrade dlm-kmp-azureUpgrade kernel-zfcpdumpUpgrade kernel-sourceUpgrade dtb-rockchipUpgrade dtb-apmUpgrade dtb-lgUpgrade dtb-marvellUpgrade kernel-default-extraUpgrade kernel-azure-develUpgrade kernel-debug-livepatch-develUpgrade kernel-64kb-livepatch-develUpgrade kernel-syms-rtUpgrade kselftests-kmp-64kbUpgrade dtb-armUpgrade kernel-64kbUpgrade dtb-amlogicUpgrade kernel-default-base-rebuildUpgrade kernel-azure-livepatch-develUpgrade kernel-default-develUpgrade cluster-md-kmp-azureUpgrade kernel-azure-vdsoUpgrade kernel-macrosUpgrade ocfs2-kmp-rtUpgrade kernel-kvmsmall-develUpgrade kernel-64kb-optionalUpgrade dtb-nvidiaUpgrade cluster-md-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-source-vanillaUpgrade kernel-devel-rtUpgrade kernel-default-livepatch-develUpgrade gfs2-kmp-defaultUpgrade dtb-renesasUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade dtb-caviumUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-default-livepatchUpgrade kernel-64kb-extraUpgrade dtb-xilinxUpgrade dtb-appleUpgrade kselftests-kmp-rtUpgrade kernel-source-rtUpgrade kernel-docsUpgrade kernel-rt-optionalUpgrade kernel-rt-livepatchUpgrade kernel-rt-extraUpgrade kernel-default-optionalUpgrade kernel-defaultUpgrade kernel-azure-optionalUpgrade kernel-64kb-develUpgrade dtb-socionextUpgrade dtb-mediatekUpgrade dtb-amdUpgrade dtb-allwinnerUpgrade dlm-kmp-defaultUpgrade ocfs2-kmp-defaultUpgrade kernel-obs-buildUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-develUpgrade kernel-rt_debug-develUpgrade kernel-debug-vdsoUpgrade dtb-hisiliconUpgrade dtb-alteraUpgrade reiserfs-kmp-rtUpgrade kernel-debugUpgrade kernel-azure-extraUpgrade kernel-debug-develUpgrade gfs2-kmp-azureUpgrade kernel-rt-develUpgrade dtb-sprdUpgrade kernel-default-baseUpgrade kernel-default-vdsoUpgrade kernel-azureUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade kernel-rt_debug-livepatch-devel | Aug 8, 2024 | Jul 12, 2024 |
| Ubuntu | — | Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-generic-lpaeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1013-nvidia-lowlatency-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-6.8.0-1012-oracleUpgrade linux-image-azure-fdeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1014-azureUpgrade linux-image-6.8.0-1012-ibmUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1013-nvidiaUpgrade linux-image-generic-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1012-oemUpgrade linux-image-6.8.0-1014-azure-fdeUpgrade linux-image-ibmUpgrade linux-image-genericUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1014-gcpUpgrade linux-image-raspiUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-nvidiaUpgrade linux-image-azureUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-44-genericUpgrade linux-image-6.8.0-1015-awsUpgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-lowlatencyUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-45-genericUpgrade linux-image-oem-22.04cUpgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-64kUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gkeUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-oracle-64k | Sep 12, 2024 | Jul 12, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub