PT-2022-7381 · Linux+3 · Linux Kernel+3

Syzbot

·

Publicado

2022-09-02

·

Atualizado

2024-10-30

·

CVE-2022-48689

CVSS v3.1

7.0

Alta

VetorAV:L/AC:H/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 àquela que inclui a correção para o problema.
Descrição
O problema está relacionado ao uso indevido do status de página pfmemalloc em caminhos TCP zerocopy. O uso de page is pfmemalloc() nesse contexto pode gerar falsos positivos. O problema é mais provável após um commit específico que adicionou uma assinatura na estrutura struct page, fazendo com que page is pfmemalloc() utilize um bit de ordem inferior de page->lru.next, que pode mudar com mais frequência do que page->index. O relatório do KCSAN é, em grande parte, um falso positivo, pois o bit de ordem inferior nunca deve ser definido para lru.next quando usado como âncora na lista LRU.
Recomendações
Para resolver o problema, faça o backport do commit 84ce071e38a6 (“net: introduce skb fill page desc noacc”) como pré-requisito. Essa alteração remove o uso de page is pfmemalloc() no caminho zerocopy do TCP, evitando assim o possível uso indevido e problemas relacionados. Aplique esse backport para garantir a estabilidade e a segurança do kernel do Linux.

Exploit

Correção

Race Condition

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

Enumeração de Fraquezas

Identificadores relacionados

BDU:2024-04586
CVE-2022-48689
OESA-2024-1693
OESA-2024-1694
SUSE-SU-2024:2008-1
SUSE-SU-2024:2019-1
SUSE-SU-2024:2190-1

Produtos afetados

Astra Linux
Linux Kernel
Red Os
Suse