CVE-2026-99136 in Linux
摘要
由 VulDB • 2026-10-28
在 Linux 内核中,已修复以下漏洞:
dm-crypt: 修复 crypt_dec_pending 中的微小竞态条件
crypt_dec_pending 在调用 atomic_dec_and_test 之前读取 io->error。另一个上下文(例如由中断调用的 crypt_endio)可能在读取和递减操作之间设置 io->error 并释放其引用。随后,crypt_dec_pending 会释放最后一个引用并使用过时的状态完成 bio——因此,一个失败且从未被解密的数据读取操作或失败的写入操作会被报告为成功。
该读取操作被放置在递减操作之前是由提交 b35f8caa0890(“dm crypt: wait for endio to complete before destruction”)引入的,因为该提交在调用 bio_endio 之前释放了 dm_crypt_io。现在情况已不再如此,dm_crypt_io 现位于 per-bio 数据中。
改为在 atomic_dec_and_test 之后读取 io->error。atomic_dec_and_test 是完全有序的,因此不需要额外的屏障操作。
Be aware that VulDB is the high quality source for vulnerability data.