Cloudanix VulnDB

CVE-2024-49960

High · 7.8

CVSS

7.8

EPSS

0.3%

Published

Oct 21, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how Linux handles certain file system errors could let someone with access to the computer crash the system or gain higher privileges, so organizations should install the latest operating system updates.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Full Compromise
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in ext4_fill_super when a mount failure after ext4_stop_mmpd triggers ext4_handle_error that re-arms the s_err_report timer, leaving it active before kfree(sbi) and allowing the freed timer structure to be referenced by del_timer_sync or the timer callback.

Why it matters to the business

Linux systems using ext4 may experience kernel crashes or potential local privilege escalation during failed filesystem mounts, leading to service outages on servers, containers, and embedded devices until kernels are updated; prevalence across the Linux ecosystem increases exposure for organizations relying on ext4 storage.

How an attack unfolds

An attacker with local access triggers repeated ext4 mount failures that exercise the error path through ext4_stop_mmpd and ext4_handle_error, leaving the s_err_report timer active; the freed timer memory is then reused to corrupt kernel structures and achieve code execution, consistent with patterns seen in Linux kernel exploitation campaigns by espionage and financially motivated actors.

How to fix it

Upgrade to a fixed kernel version such as 5.10.237 or apply the commit 7aac0c17a8cdf4a3236991c1e60435c6a984076c; for Rocky Linux 8 update mailman to 3:2.1.29-11.module+el8.4.0+539+54f8785b; rebuild and reboot systems with the patched kernel; avoid mounting untrusted ext4 images until updated.

How to confirm the fix worked

Confirm the running kernel contains the fix by checking the presence of the timer cancel after ext4_stop_mmpd in ext4_fill_super; attempt controlled failed mounts in a test environment and verify no ODEBUG warnings occur; review dmesg for timer-related use-after-free reports on unpatched systems.

Typical attack path

  1. Obtain local user access on a system using an affected ext4 kernel
  2. Craft conditions that cause ext4 mount to fail after the MMPD stop step
  3. Trigger error handling that re-arms the s_err_report timer
  4. Free the superblock while the timer remains queued
  5. Reuse the freed timer memory to corrupt kernel state and escalate privileges

How to detect it

Search kernel logs and dmesg for ODEBUG warnings or timer use-after-free messages referencing ext4_fill_super or s_err_report; inspect auditd and syslog entries around mount failures for unusual ext4 error handling sequences; correlate with any local privilege escalation attempts on systems running vulnerable kernels.

What your security team should do

  • Prioritize kernel updates on all ext4-using systems within standard change windows given the local attack vector and high CVSS
  • Restrict unprivileged users from mounting arbitrary filesystems until patches are deployed
  • Monitor for new stable kernel releases and test the fix in staging environments before broad rollout
  • Review logs for any prior ODEBUG or timer warnings that could indicate attempted exploitation

The record

In the Linux kernel, the following vulnerability has been resolved: ext4: fix timer use-after-free on failed mount Syzbot has found an ODEBUG bug in ext4_fill_super The del_timer_sync function cancels the s_err_report timer, which reminds about filesystem errors daily. We should guarantee the timer is no longer active before kfree(sbi). When filesystem mounting fails, the flow goes to failed_mount3, where an error occurs when ext4_stop_mmpd is called, causing a read I/O failure. This triggers the ext4_handle_error function that ultimately re-arms the timer, leaving the s_err_report timer active before kfree(sbi) is called. Fix the issue by canceling the s_err_report timer after calling ext4_stop_mmpd.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 No fix
Debian:11 linux-6.1 0 6.1.119-1~deb11u1
Debian:12 linux 0 No fix
Debian:12 linux 0 6.1.119-1
Debian:13 linux 0 No fix
Debian:13 linux 0 6.11.4-1
Linux Kernel 0 5.10.237
Mageia:9 kernel 0 6.6.58-2.mga9
Mageia:9 kernel-firmware 0 20240909-1.mga9
Mageia:9 kernel-firmware-nonfree 0 20240909-1.mga9.nonfree
Mageia:9 kernel-linus 0 6.6.58-2.mga9
Mageia:9 kmod-virtualbox 0 7.0.20-57.mga9
Mageia:9 kmod-xtables-addons 0 3.24-65.mga9
Mageia:9 radeon-firmware 0 20240909-1.mga9.nonfree
SUSE:Linux Enterprise High Availability Extension 15 SP4 kernel-default 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Availability Extension 15 SP5 kernel-default 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-64kb 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default-base 0 5.14.21-150400.24.141.1.150400.24.68.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-docs 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-obs-build 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-source 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-syms 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-64kb 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default-base 0 5.14.21-150400.24.141.1.150400.24.68.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-docs 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-obs-build 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-source 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-syms 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-default 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_33 0 1-150400.9.5.1
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-default 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-livepatch-SLE15-SP5-RT_Update_22 0 1-150500.11.3.1
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_21 0 1-150500.11.5.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_5 0 1-150600.1.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_6 0 1-150600.13.3.5
SUSE:Linux Enterprise Micro 5.3 kernel-default 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Micro 5.3 kernel-default-base 0 5.14.21-150400.24.141.1.150400.24.68.2
SUSE:Linux Enterprise Micro 5.3 kernel-rt 0 5.14.21-150400.15.100.1
SUSE:Linux Enterprise Micro 5.3 kernel-source-rt 0 5.14.21-150400.15.100.1
SUSE:Linux Enterprise Micro 5.4 kernel-default 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Micro 5.4 kernel-default-base 0 5.14.21-150400.24.141.1.150400.24.68.2
SUSE:Linux Enterprise Micro 5.4 kernel-rt 0 5.14.21-150400.15.100.1
SUSE:Linux Enterprise Micro 5.4 kernel-source-rt 0 5.14.21-150400.15.100.1
SUSE:Linux Enterprise Micro 5.5 kernel-default 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Micro 5.5 kernel-default-base 0 5.14.21-150500.55.88.1.150500.6.39.4
SUSE:Linux Enterprise Micro 5.5 kernel-rt 0 5.14.21-150500.13.76.1
SUSE:Linux Enterprise Micro 5.5 kernel-source-rt 0 5.14.21-150500.13.76.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-64kb 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-default 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-default-base 0 5.14.21-150500.55.88.1.150500.6.39.4
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-source 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 kernel-zfcpdump 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.30.1.150600.12.12.6
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco 0 6.4.0-15061.9.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco_debug 0 6.4.0-15061.9.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-source-coco 0 6.4.0-15061.9.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-syms-coco 0 6.4.0-15061.9.coco15sp6.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-docs 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-obs-build 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-source 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Development Tools 15 SP5 kernel-syms 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Legacy 15 SP5 kernel-default 0 5.14.21-150500.55.88.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-azure 0 5.14.21-150500.33.72.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-source-azure 0 5.14.21-150500.33.72.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP5 kernel-syms-azure 0 5.14.21-150500.33.72.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.17.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.17.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.17.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-64kb 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-default 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-default-base 0 5.14.21-150400.24.141.1.150400.24.68.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-docs 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-obs-build 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-source 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-syms 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-zfcpdump 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-default 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-default-base 0 5.14.21-150400.24.141.1.150400.24.68.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-docs 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-obs-build 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-source 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-syms 0 5.14.21-150400.24.141.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.30.1
SUSE:Manager Proxy 4.3 kernel-default 0 5.14.21-150400.24.141.1
SUSE:Manager Proxy 4.3 kernel-default-base 0 5.14.21-150400.24.141.1.150400.24.68.2
SUSE:Manager Proxy 4.3 kernel-source 0 5.14.21-150400.24.141.1
SUSE:Manager Proxy 4.3 kernel-syms 0 5.14.21-150400.24.141.1
SUSE:Manager Server 4.3 kernel-default 0 5.14.21-150400.24.141.1
SUSE:Manager Server 4.3 kernel-default-base 0 5.14.21-150400.24.141.1.150400.24.68.2
SUSE:Manager Server 4.3 kernel-source 0 5.14.21-150400.24.141.1
SUSE:Manager Server 4.3 kernel-syms 0 5.14.21-150400.24.141.1
SUSE:Manager Server 4.3 kernel-zfcpdump 0 5.14.21-150400.24.141.1
SUSE:Real Time Module 15 SP5 kernel-rt 0 5.14.21-150500.13.76.1
SUSE:Real Time Module 15 SP5 kernel-rt_debug 0 5.14.21-150500.13.76.1
SUSE:Real Time Module 15 SP5 kernel-source-rt 0 5.14.21-150500.13.76.1
SUSE:Real Time Module 15 SP5 kernel-syms-rt 0 5.14.21-150500.13.76.1
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.17.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.17.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.17.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.17.1
Ubuntu:24.10 linux 0 6.11.0-18.18
Ubuntu:24.10 linux-aws 0 6.11.0-1009.10
Ubuntu:24.10 linux-azure 0 6.11.0-1009.9
Ubuntu:24.10 linux-gcp 0 6.11.0-1009.9
Ubuntu:24.10 linux-lowlatency 0 6.11.0-1010.11
Ubuntu:24.10 linux-oracle 0 6.11.0-1011.12
Ubuntu:24.10 linux-raspi 0 6.11.0-1008.8
Ubuntu:24.10 linux-realtime 0 6.11.0-1005.5
openSUSE:Leap 15.5 kernel-azure 0 5.14.21-150500.33.72.1
openSUSE:Leap 15.5 kernel-rt 0 5.14.21-150500.13.76.1
openSUSE:Leap 15.5 kernel-rt_debug 0 5.14.21-150500.13.76.1
openSUSE:Leap 15.5 kernel-source-azure 0 5.14.21-150500.33.72.1
openSUSE:Leap 15.5 kernel-source-rt 0 5.14.21-150500.13.76.1
openSUSE:Leap 15.5 kernel-syms-azure 0 5.14.21-150500.33.72.1
openSUSE:Leap 15.5 kernel-syms-rt 0 5.14.21-150500.13.76.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.17.2
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.30.1.150600.12.12.6
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.17.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.17.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.17.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.17.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.30.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.17.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.17.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.30.1
openSUSE:Leap Micro 5.5 kernel-rt 0 5.14.21-150500.13.76.1
openSUSE:Tumbleweed kernel-source 0 6.11.8-1.1
openSUSE:Tumbleweed kernel-source-longterm 0 6.12.11-1.1

Related vulnerabilities