🛡️ UBUNTU-CVE-2024-40998
⚪ Unknown ✅ No Known Exploit OSV
N/A
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

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.

Details

Severity Unknown
CVSS Score N/A
CVSS Vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE N/A
Public Exploit ✅ No
Source OSV
Published 2024-07-12
Updated 2026-06-15
Modified 2026-06-08
Fix URL N/A

Affected Packages

Software From version Fixed in
linux 6.8.0-44.44
linux-allwinner-5.19
linux-aws 6.8.0-1015.16
linux-aws-5.0
linux-aws-5.11
linux-aws-5.13
linux-aws-5.15
linux-aws-5.19
linux-aws-5.3
linux-aws-5.4
linux-aws-5.8
linux-aws-6.2
linux-aws-6.5
linux-aws-6.8 6.8.0-1015.16~22.04.1
linux-aws-fips
linux-aws-hwe
linux-azure 6.8.0-1014.16
linux-azure-4.15
linux-azure-5.11
linux-azure-5.13
linux-azure-5.15
linux-azure-5.19
linux-azure-5.3
linux-azure-5.4
linux-azure-5.8
linux-azure-6.2
linux-azure-6.5
linux-azure-6.8 6.8.0-1014.16~22.04.1
linux-azure-edge
linux-azure-fde
linux-azure-fde-5.15
linux-azure-fde-5.19
linux-azure-fde-6.2
linux-azure-fips
linux-bluefield
linux-fips 6.8.0-78.78+fips1
linux-gcp 6.8.0-1014.16
linux-gcp-4.15
linux-gcp-5.11
linux-gcp-5.13
linux-gcp-5.15
linux-gcp-5.19
linux-gcp-5.3
linux-gcp-5.4
linux-gcp-5.8
linux-gcp-6.2
linux-gcp-6.5
linux-gcp-6.8 6.8.0-1014.16~22.04.1
linux-gcp-fips
linux-gke 6.8.0-1010.13
linux-gke-4.15
linux-gke-5.15
linux-gke-5.4
linux-gkeop
linux-gkeop-5.15
linux-gkeop-5.4
linux-hwe
linux-hwe-5.11
linux-hwe-5.13
linux-hwe-5.15
linux-hwe-5.19
linux-hwe-5.4
linux-hwe-5.8
linux-hwe-6.2
linux-hwe-6.5
linux-hwe-6.8 6.8.0-45.45~22.04.1
linux-hwe-edge
linux-ibm 6.8.0-1012.12
linux-ibm-5.15
linux-ibm-5.4
linux-ibm-6.8 6.8.0-1012.12~22.04.1
linux-intel-5.13
linux-intel-iot-realtime
linux-intel-iotg
linux-intel-iotg-5.15
linux-iot
linux-kvm
linux-lowlatency 6.8.0-44.44.1
linux-lowlatency-hwe-5.15
linux-lowlatency-hwe-5.19
linux-lowlatency-hwe-6.2
linux-lowlatency-hwe-6.5
linux-lowlatency-hwe-6.8 6.8.0-44.44.1~22.04.1
linux-lts-xenial
linux-nvidia 6.8.0-1013.14
linux-nvidia-6.2
linux-nvidia-6.5
linux-nvidia-6.8 6.8.0-1013.14~22.04.1
linux-nvidia-lowlatency 6.8.0-1013.14.1
linux-nvidia-tegra
linux-nvidia-tegra-5.15
linux-nvidia-tegra-igx
linux-oem
linux-oem-5.10
linux-oem-5.13
linux-oem-5.14
linux-oem-5.17
linux-oem-5.6
linux-oem-6.0
linux-oem-6.1
linux-oem-6.5
linux-oem-6.8 6.8.0-1012.12
linux-oracle 6.8.0-1012.12
linux-oracle-5.0
linux-oracle-5.11
linux-oracle-5.13
linux-oracle-5.15
linux-oracle-5.3
linux-oracle-5.4
linux-oracle-5.8
linux-oracle-6.5
linux-oracle-6.8 6.8.0-1012.12~22.04.1
linux-raspi 6.8.0-1011.12
linux-raspi-5.4
linux-raspi-realtime 6.8.0-2010.10
linux-raspi2
linux-realtime 6.8.1-1008.8
linux-realtime-6.8 6.8.1-1008.8~22.04.1
linux-riscv 6.8.0-44.44.1
linux-riscv-5.11
linux-riscv-5.15
linux-riscv-5.19
linux-riscv-5.8
linux-riscv-6.5
linux-riscv-6.8 6.8.0-44.44.1~22.04.1
linux-starfive-5.19
linux-starfive-6.2
linux-starfive-6.5
linux-xilinx-zynqmp

References

Similar Threats

Vulnerability Monitoring

Stay informed about vulnerabilities in your stack

BotEraser monitors your WordPress installation and notifies you when software you use appears in our vulnerability database.

Set Up Free Alerts →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.