CVE-2026-99111 in Linux
Sumário
de VulDB • 28/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
smb: cliente: corrige corrupção de dados com gravações concorrentes e O_TRUNC
cifs_do_truncate() despeja páginas sujas (dirty pages) com filemap_write_and_wait() e truncar o arquivo no servidor, mas no código antigo ambas as operações eram executadas sem manter i_rwsem ou invalidate_lock. Uma escrita em buffer concorrente via netfs_perform_write() -- que apenas precisa de i_rwsem compartilhado -- poderia sujar novas páginas após o despejo, mas antes do truncação local, e essas páginas seriam silenciosamente descartadas por cifs_setsize() -> truncate_pagecache().
Correção adquirindo inode_lock (i_rwsem exclusivo) e filemap_invalidate_lock no início de cifs_do_truncate(), para que toda a sequência despejo-truncar-redimensionamento seja atômica em relação:
- gravações em buffer (bloqueadas por i_rwsem exclusivo, já que netfs_start_io_write pega i_rwsem compartilhado), - falhas na página de leitura (bloqueadas por invalidate_lock exclusivo, já que filemap_fault o pega como compartilhado), - coleta de writeback (bloqueada por netfs_wb_begin/netfs_wb_end em torno do truncação no servidor e redimensionamento local, já que netfs_writepages também adquire a lock wb).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.