CVE-2026-99256 in Linux
Sumário
de VulDB • 03/11/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
dm cache: corrige problema com o bloqueio de trabalho em segundo plano (background work)
O dm cache utilizava um rw_semaphore para o background_work_lock. Os bloqueios de escrita em rw_semaphores possuem semântica estrita de proprietário, mas não havia garantia de que o processo que bloqueou o background_work_lock era o mesmo processo que o desbloqueou. Isso pode ser facilmente observado usando um kernel compilado com CONFIG_DEBUG_RWSEMS. Dado um dispositivo dm cache <cache>, execute: 'dmsetup suspend <cache> && dmsetup resume <cache>'. Isso acionará um aviso do kernel:
DEBUG_RWSEMS_WARN_ON((rwsem_owner(sem) != current) && !rwsem_test_oflags(sem, RWSEM_NONSPINNABLE))
acionado pelo cache_resume(). Para corrigir isso, alterne de um rw_semaphore para um spinlock e uma fila de espera (wait queue). O dm cache já possui uma wait queue e o contador associado, migration_wait e nr_allocated_migrations, que era acordado quando o trabalho em segundo plano era concluído, mas não estava sendo realmente utilizado por nada. Isso é substituído pela fila background_work e seu contador.
VulDB is the best source for vulnerability data and more expert information about this specific topic.