PT-2025-8087 · Linux+3 · Linux Kernel+3

Publicado

2022-01-01

·

Atualizado

2025-09-23

·

CVE-2022-49159

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 Linux (versões afetadas não especificadas)
Descrição Existe uma condição de corrida entre o manipulador de timeout e a função done no módulo qla2xxx do Kernel Linux. Isso pode levar a um dereferenciamento de ponteiro NULL quando qla24xx async abort cmd() acessa um ponteiro sp->qpair já liberado. O problema surge porque qla24xx async gpsc sp done() libera o SRB incondicionalmente e, quando o manipulador de timeout é reagendado, ele tenta acessar o ponteiro já liberado. O problema pode ser resolvido introduzindo um contador de referências para serializar o acesso e prevenir a condição de corrida.
Recomendações Para resolver este problema, introduza um contador de referências para o SRB no módulo qla2xxx. Adquira uma referência para o caminho de código normal e uma para o caminho de timeout, e use sincronização adequada via locks para garantir acesso exclusivo. Ao cancelar um timer, decremente com segurança o contador de referências em um se del timer retornar 1, indicando que nenhum tratamento de erro está em progresso. Se não for possível cancelar o timer, garanta que sp->done() seja chamado nos manipuladores de abort antes de chamar kref put().

Exploit

Correção

NULL Pointer Dereference

Memory Leak

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

Enumeração de Fraquezas

Identificadores relacionados

BDU:2026-01532
CVE-2022-49159
OPENSUSE-SU-2025_1263-1
SUSE-SU-2025:1027-1
SUSE-SU-2025:1176-1
SUSE-SU-2025:1183-1
SUSE-SU-2025:1194-1
SUSE-SU-2025:1241-1
SUSE-SU-2025:1263-1
SUSE-SU-2025:1293-1
SUSE-SU-2025_1027-1
SUSE-SU-2025_1241-1
SUSE-SU-2025_1263-1
SUSE-SU-2025_1293-1

Produtos afetados

Astra Linux
Debian
Linux Kernel
Suse