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

Wei Xu

·

Publicado

2024-07-17

·

Atualizado

2025-09-29

·

CVE-2024-42316

CVSS v3.1

5.5

Média

VetorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Nome do software vulnerável e versões afetadas
Versões do kernel Linux anteriores à 6.6.50
Descrição
Foi corrigida uma vulnerabilidade no kernel Linux, especificamente no módulo mm/mglru, onde poderia ocorrer um erro de divisão por zero na função vmpressure calc level(). Esse problema surge quando a função evict folios() utiliza uma segunda passagem para recuperar folios que passaram pela gravação de página e ficaram limpos antes de concluir a primeira passagem. A segunda passagem tenta evitar uma possível contagem dupla deduzindo scan control->nr scanned, mas isso pode resultar em um underflow de nr scanned se shrink folio list() não incrementar nr scanned, como quando folio trylock() falha. Esse underflow pode fazer com que o divisor em vmpressure calc level() se torne zero, levando a uma falha no sistema.
Recomendações
Para resolver este problema, atualize o kernel do Linux para a versão 6.6.50 ou posterior. Como solução alternativa temporária, considere modificar a função evict folios() para não deduzir scan control->nr scanned, a fim de evitar o underflow de nr scanned.

Exploit

Correção

Integer Underflow

Divide By Zero

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

Enumeração de Fraquezas

Identificadores relacionados

ALSA-2025_12746
ALSA-2025_12752
ALSA-2025_12753
ALSA-2025_16880
ALT-PU-2024-11524
ALT-PU-2024-11855
ALT-PU-2024-11863
ALT-PU-2024-13121
ALT-PU-2024-13979
ALT-PU-2024-14046
AZL-48042
BDU:2025-01729
CVE-2024-42316
DLA-4008-1
INFSA-2025_6966
MGASA-2024-0309
MGASA-2024-0310
OESA-2024-2124
RHSA-2025:6966
RHSA-2025_6966
SUSE-SU-2024:3194-1
SUSE-SU-2024:3195-1
SUSE-SU-2024:3383-1
SUSE-SU-2025:20044-1
SUSE-SU-2025:20047-1
USN-7154-1
USN-7154-2
USN-7155-1
USN-7156-1
USN-7196-1

Produtos afetados

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