PT-2021-8032 · Linux+2 · Linux Kernel+2

Benjamin Block

·

Publicado

2021-04-30

·

Atualizado

2024-08-19

·

CVE-2021-46938

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 à 5.3.18-53-default #1 SLE15-SP3
Descrição
A vulnerabilidade está relacionada a uma liberação dupla do blk mq tag set na tabela do device-mapper para um dispositivo mapeado baseado em solicitação. Quando a alocação/inicialização do blk mq tag set falha, a remoção subsequente do dispositivo causará uma liberação dupla, levando a um kernel panic. O problema é causado pelo ponteiro não ser redefinido para NULL após o blk mq tag set ser desinicializado/liberado.
Para explorar essa vulnerabilidade, um invasor precisaria fazer com que a alocação/inicialização do blk mq tag set falhasse e, em seguida, acionar a remoção do dispositivo. Isso poderia permitir que o invasor causasse uma negação de serviço ou executasse código arbitrário.
A função dm mq init request queue() é vulnerável, e a função dm mq cleanup mapped device() tenta desinicializar e liberar o blk mq tag set novamente, causando a liberação dupla.
A vulnerabilidade pode ser corrigida definindo o ponteiro como NULL no tratamento de erros de dm mq init request queue() e em dm mq cleanup mapped device().
Recomendações
Para resolver o problema, atualize o kernel do Linux para uma versão que inclua a correção para a vulnerabilidade de liberação dupla. Especificamente, atualize para uma versão posterior à 5.3.18-53-default #1 SLE15-SP3.
Como solução alternativa temporária, considere desativar a função dm mq init request queue() ou restringir o acesso à tabela do device-mapper para minimizar o risco

Correção

Double Free

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

Enumeração de Fraquezas

Identificadores relacionados

BDU:2024-03688
CVE-2021-46938
OPENSUSE-SU-2024_1489-1
SUSE-SU-2024:1454-1
SUSE-SU-2024:1465-1
SUSE-SU-2024:1489-1
SUSE-SU-2024:1643-1
SUSE-SU-2024:1646-1
SUSE-SU-2024:1870-1

Produtos afetados

Astra Linux
Linux Kernel
Suse