CVE-2024-49866

Vulnérabilité élevée dans Linux (Linux)

CVSS 7.8 · Élevée
EPSS 0.2%
Linux•Linux•Versions : 6.12, <=6.1.*, <829e0c9f0855f26b3ae830d17b24aec103f7e915, <=6.11.*, 0, c8895e271f7994a3ecb13b8a280e39aa53879545, <5.14, <=6.6.*, 5.14, 6.6.55, <322920b53dc11f9c2b33397eb3ae5bc6a175b60d, 6.11.3, <ce25f33ba89d6eefef64157655d318444580fa14, 6.1.113, <f72b451dc75578f644a3019c1489e9ae2c14e6c4, <=*, <=5.15.*, <a6e9849063a6c8f4cb2f652a437e44e3ed24356c, 6.10.14, 5.15.168, <=6.10.*, <a0d9c0cd5856191e095cf43a2e141b73945b7716

Description

In the Linux kernel, the following vulnerability has been resolved: tracing/timerlat: Fix a race during cpuhp processing There is another found exception that the "timerlat/1" thread was scheduled on CPU0, and lead to timer corruption finally: ``` ODEBUG: init active (active state 0) object: ffff888237c2e108 object type: hrtimer hint: timerlat_irq+0x0/0x220 WARNING: CPU: 0 PID: 426 at lib/debugobjects.c:518 debug_print_object+0x7d/0xb0 Modules linked in: CPU: 0 UID: 0 PID: 426 Comm: timerlat/1 Not tainted 6.11.0-rc7+ #45 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:debug_print_object+0x7d/0xb0 ... Call Trace: <TASK> ? __warn+0x7c/0x110 ? debug_print_object+0x7d/0xb0 ? report_bug+0xf1/0x1d0 ? prb_read_valid+0x17/0x20 ? handle_bug+0x3f/0x70 ? exc_invalid_op+0x13/0x60 ? asm_exc_invalid_op+0x16/0x20 ? debug_print_object+0x7d/0xb0 ? debug_print_object+0x7d/0xb0 ? __pfx_timerlat_irq+0x10/0x10 __debug_object_init+0x110/0x150 hrtimer_init+0x1d/0x60 timerlat_main+0xab/0x2d0 ? __pfx_timerlat_main+0x10/0x10 kthread+0xb7/0xe0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x2d/0x40 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK> ``` After tracing the scheduling event, it was discovered that the migration of the "timerlat/1" thread was performed during thread creation. Further analysis confirmed that it is because the CPU online processing for osnoise is implemented through workers, which is asynchronous with the offline processing. When the worker was scheduled to create a thread, the CPU may has already been removed from the cpu_online_mask during the offline process, resulting in the inability to select the right CPU: T1 | T2 [CPUHP_ONLINE] | cpu_device_down() osnoise_hotplug_workfn() | | cpus_write_lock() | takedown_cpu(1) | cpus_write_unlock() [CPUHP_OFFLINE] | cpus_read_lock() | start_kthread(1) | cpus_read_unlock() | To fix this, skip online processing if the CPU is already offline.

Gravité et risque d'exploitation

CVE-2024-49866 obtient un score CVSS de 7.8/10, soit une gravité élevée. Selon le modèle EPSS, la probabilité qu'elle soit exploitée dans les 30 prochains jours est de 0.18 %, ce qui la place devant 7.2 % des CVE référencées.

Que faire ?

  • Vérifiez si Linux (versions 6.12, <=6.1.*, <829e0c9f0855f26b3ae830d17b24aec103f7e915, <=6.11.*, 0, c8895e271f7994a3ecb13b8a280e39aa53879545, <5.14, <=6.6.*, 5.14, 6.6.55, <322920b53dc11f9c2b33397eb3ae5bc6a175b60d, 6.11.3, <ce25f33ba89d6eefef64157655d318444580fa14, 6.1.113, <f72b451dc75578f644a3019c1489e9ae2c14e6c4, <=*, <=5.15.*, <a6e9849063a6c8f4cb2f652a437e44e3ed24356c, 6.10.14, 5.15.168, <=6.10.*, <a0d9c0cd5856191e095cf43a2e141b73945b7716) est présent sur votre parc.
  • Appliquez le correctif ou la version corrigée indiqués dans les références de l'éditeur.
  • À défaut de correctif, limitez l'exposition (filtrage réseau, désactivation du composant).
  • Automatisez la détection : les agents CVE Heimdall (gratuits, open source) corrèlent l'inventaire de vos serveurs avec la base CVE.

Références