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

Syzbot

·

Publicado

2022-03-06

·

Atualizado

2026-03-14

·

CVE-2022-48862

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
Kernel do Linux (versões afetadas não especificadas)
Descrição
O problema está relacionado a um thread travado devido a entradas iotlb incorretas no componente vhost do kernel Linux. Especificamente, em vhost iotlb add range ctx(), o tamanho do intervalo pode transbordar para 0 quando start é 0 e last é ULONG MAX. Isso pode ocorrer quando o espaço do usuário envia uma mensagem IOTLB com iova=size=uaddr=0. Como resultado, uma entrada com size = 0, start = 0, last = ULONG MAX acaba no iotlb, fazendo com que iotlb access ok() entre em loop infinito quando um pacote é enviado. Para corrigir isso, duas ações são recomendadas: retornar -EINVAL em vhost chr write iter() quando o espaço do usuário solicitar o mapeamento de um intervalo com tamanho 0 e corrigir vhost iotlb add range ctx() para lidar com o intervalo [0, ULONG MAX] dividindo-o em duas entradas.
Recomendações
Para resolver o problema, siga estas etapas:
  1. Retorne -EINVAL em vhost chr write iter() quando o espaço do usuário solicitar o mapeamento de um intervalo com tamanho 0.
  2. Corrija vhost iotlb add range ctx() para lidar com o intervalo [0, ULONG MAX] dividindo-o em duas entradas.
Como solução alternativa temporária, considere desativar a função vhost iotlb add range ctx() até que um patch esteja disponível. Restrinja o acesso ao módulo vhost vulnerável para minimizar o risco de exploração. Evite usar os parâmetros iova e uaddr com tamanho 0 nos pontos de extremidade da API afetados até que o problema seja resolvido.

Exploit

Correção

Infinite Loop

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

Enumeração de Fraquezas

Identificadores relacionados

BDU:2024-06617
CVE-2022-48862
OPENSUSE-SU-2024_2947-1
SUSE-SU-2024:2894-1
SUSE-SU-2024:2902-1
SUSE-SU-2024:2929-1
SUSE-SU-2024:2939-1
SUSE-SU-2024:2947-1

Produtos afetados

Debian
Linux Kernel
Red Os
Suse