PT-2026-36467 · Linux · Linux Kernel

Publicado

2026-03-09

·

Atualizado

2026-05-26

·

CVE-2026-43050

CVSS v2.0

7.7

Alta

VetorAV:A/AC:L/Au:S/C:C/I:C/A:C
Nome do Software Vulnerável e Versões Afetadas Linux kernel (versões afetadas não especificadas)
Descrição Existe uma condição de corrida no kernel Linux entre a função lec atm close() definindo priv->lecd como NULL e o acesso concorrente a priv->lecd dentro das funções send to lecd(), lec handle bridge() e lec atm send(). Isso ocorre porque a lec atm close() limpa o priv->lecd sem sincronização, enquanto outros chamadores o desreferenciam sem proteção contra a desmontagem concorrente. Consequentemente, se o socket for liberado via RCU enquanto outra thread ainda o estiver utilizando, ocorre um use-after-free na função sock def readable() ao acessar a fila de espera do socket.
Recomendações Converta priv->lecd para um ponteiro protegido por RCU, marcando-o como rcu em lec.h e utilizando rcu assign pointer() em lec atm close() e lecd attach(). Utilize rcu access pointer() para verificações de NULL em lec start xmit(), lec push(), send to lecd() e lecd attach(). Implemente rcu read lock(), rcu dereference() e rcu read unlock() em send to lecd(), lec handle bridge() e lec atm send() para acessar o lecd com segurança. Aplique rcu assign pointer() seguido de synchronize rcu() em lec atm close() para garantir que todos os leitores tenham terminado antes de prosseguir.

Correção

Use After Free

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

Enumeração de Fraquezas

Identificadores relacionados

BDU:2026-07835
CVE-2026-43050
ECHO-D275-DCFA-4F78

Produtos afetados

Linux Kernel