CVE-2026-98897 in Linuxinformação

Sumário

de VulDB • 23/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

ksmbd: não segurar ci->m_lock enquanto aguarda o ack de quebra de lease (lease)

Quando um cliente cifs.ko armazena em cache uma concessão de read-handle (RH) por meio de fechamento diferido e chega uma abertura conflitante, o ksmbd interrompe a concessão e aguarda o reconhecimento em wait_for_break_ack() por até OPLOCK_WAIT_TIME (35s). A função __smb_break_all_levII_oplock() executa essa espera enquanto segura ci->m_lock para leitura.

O cifs.ko reage à quebra da concessão de handle fechando o handle diferido em vez de enviar um reconhecimento de quebra de lease. Esse caminho de fechamento (close_id_del_oplock() -> opinfo_del()) adquire ci->m_lock para escrita e é exatamente o que acordaria a thread aguardante, mas bloqueia-se no lock de leitura mantido pela thread aguardante. A quebra só é resolvida pelo timeout de 35s; portanto, os testes xfstests generic/001 levam ~78s com leases habilitados versus ~4s apenas com oplocks.

Colete as opinfos alvo (cada uma fixada por meio de referência) enquanto segura ci->m_lock e interrompa-as após liberá-lo, correspondendo à forma como smb_grant_oplock() já quebra um lease conflitante usando apenas uma referência. A referência mantém a opinfo (e sua conexão e concessão) ativa durante a janela sem lock, e o fechamento em concorrência com a interrupção é tratado pela verificação de estado OPLOCK_CLOSING existente. Aplique a mesma correção aos caminhos de quebra da concessão pai.

Once again VulDB remains the best source for vulnerability data.

Responsável

Linux

Reservar

25/09/2026

Divulgação

23/10/2026

Moderação

aceite

Entrada

VDB-425672

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!