PT-2024-7050 · Linux+7 · Linux Kernel+7

Zheng Yejian

·

Publicado

2024-05-14

·

Atualizado

2025-09-29

·

CVE-2024-38588

CVSS v3.1

7.8

Alta

VetorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do kernel Linux anteriores à 6.6.37
Descrição
O problema está relacionado a uma possível falha de uso após liberação (use-after-free) na função ftrace location(). Isso ocorre porque a função lookup rec() procura um registro ftrace de algum endereço nas páginas ftrace de um módulo, enquanto, ao mesmo tempo, essas páginas ftrace estão sendo liberadas em ftrace release mod() à medida que o módulo correspondente é excluído. Isso pode levar a uma situação em que o mesmo local de memória seja acessado após ter sido liberado, causando potencialmente um comportamento inesperado ou falhas no sistema. A causa raiz desse problema é uma condição de corrida entre as funções register kprobes() e delete module().
Recomendações
Para corrigir esse problema, as seguintes medidas podem ser tomadas:
  1. Manter o bloqueio rcu ao acessar páginas ftrace em ftrace location range().
  2. Use ftrace location range() em vez de lookup rec() em ftrace location().
  3. Chame synchronize rcu() antes de liberar quaisquer páginas ftrace em ftrace process locs(), ftrace release mod() e ftrace free mem().
Atualize o kernel do Linux para a versão 6.6.37 ou posterior para resolver este problema.

Exploit

Correção

Use After Free

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

ALSA-2025_16880
ALT-PU-2024-13979
ALT-PU-2024-14046
AZL-49329
BDU:2024-08308
CVE-2024-38588
DLA-4075-1
MGASA-2024-0263
MGASA-2024-0266
OESA-2024-1765
OESA-2024-1767
OESA-2024-1796
OESA-2024-1836
OPENSUSE-SU-2024_2947-1
SUSE-SU-2024:2571-1
SUSE-SU-2024:2894-1
SUSE-SU-2024:2896-1
SUSE-SU-2024:2939-1
SUSE-SU-2024:2947-1
SUSE-SU-2024:2973-1
SUSE-SU-2025:02334-1
SUSE-SU-2025:20008-1
SUSE-SU-2025:20028-1
SUSE-SU-2025_02334-1
USN-6949-1
USN-6949-2
USN-6952-1
USN-6952-2
USN-6955-1
USN-7007-1
USN-7007-2
USN-7007-3
USN-7009-1
USN-7009-2
USN-7019-1
USN-7293-1
USN-7294-1
USN-7295-1
USN-7391-1
USN-7392-1
USN-7392-2
USN-7392-3
USN-7392-4
USN-7393-1
USN-7401-1
USN-7413-1
USN-7463-1
USN-7539-1
USN-7540-1

Produtos afetados

Alt Linux
Astra Linux
Debian
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu