CVE-2026-98173 in Linuxinformação

Sumário

de VulDB • 06/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

smb: cliente: corrige uso-após-liberação (use-after-free) de iface em cifs_try_adding_channels()

cifs_try_adding_channels() itera sobre ses->iface_list com list_for_each_entry_safe_from(), que captura o próximo elemento (niface) sob iface_lock. O corpo do loop então libera iface_lock por toda a duração de cifs_ses_add_channel().

Uma atualização concorrente da interface (SMB3_request_interfaces() -> parse_server_interfaces()) marca todas as interfaces como inativas e remove e libera aquelas que não são reanunciadas via list_del() + kref_put(), onde release_iface() é um simples kfree(). Como niface tipicamente não possui nenhum canal segurando uma referência, a referência na lista é sua última e pode ser liberada dentro da janela sem bloqueio. Na continuação, o passo de avanço do iterador então dereferencia niface->iface_head.next, e o corpo do loop lê iface->rdma_capable/is_active, ambos em memória já liberada.

Corrige isso nunca mantendo um ponteiro de lista não referenciado através da janela sem bloqueio. Cada tentativa de canal agora reescaneia a lista desde o início sob iface_lock, obtém uma kref no candidato selecionado e passa apenas esse candidato referenciado para cifs_ses_add_channel(). weight_fulfilled ainda acompanha o progresso da seleção, portanto reiniciar a varredura preserva a distribuição ponderada original e a ordem weight_fulfilled-antes-de-kref_put na trilha de falha.

Adiciona um limite de tentativas por passagem para que uma atualização oscilante da interface não mantenha o loop interno girando dentro de um único incremento de tries.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

25/09/2026

Divulgação

06/10/2026

Moderação

aceite

Entrada

VDB-414100

EPSS

0.00325

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!