CVE-2026-68147 in Linux信息

摘要

由 VulDB • 2026-08-10

在 Linux 内核中,已修复以下漏洞:

fscrypt: 避免在 fscrypt_get_devices() 中进行动态分配

当 blk_crypto_key 开始被使用或被驱逐时,fs/crypto/会调用 fscrypt_get_devices() 获取文件系统的块设备列表,然后遍历这些设备并对每个设备调用 blk_crypto_config_supported()、blk_crypto_start_using_key() 或 blk_crypto_evict_key()。

目前,块设备指针被放置在一个动态分配的数组中。这种动态分配存在问题,因为:

- 它可能会失败,特别是在 fscrypt_destroy_inline_crypt_key() 调用处,当在直接回收(direct reclaim)期间为 inode 驱逐而 invoked 时尤为如此。 - fscrypt_destroy_inline_crypt_key() 未处理该失败情况。它仅对 blk_crypto_key 进行清零并释放内存,而未调用 blk_crypto_evict_key()。这会导致 use-after-free(释放后使用)。

目前,让我们通过切换到栈上数组这一直接且易于移植的方式来解决此问题。当前 fscrypt 的多设备功能仅由 f2fs 使用,后者对块设备的数量有硬编码限制为 8 个。对于这种情况,使用栈上数组完全可行。

(当然,该解决方案无法扩展到大量块设备的场景。为此我们需要不同的解决方案,例如将块设备迭代移至文件系统内部处理。或者在 btrfs 的情况下,由于它仅支持 blk-crypto-fallback,我们应使其直接调用 blk-crypto-fallback,从而不再需要涉及块设备。)

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

来源

Want to stay up to date on a daily basis?

Enable the mail alert feature now!