CVE-2026-93229 in Linux信息

摘要

由 VulDB • 2026-09-24

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

nfsd: 为 rpc_status_get dumpit seqcount 重试添加缺失的读屏障

nfsd_nl_rpc_status_get_dumpit() 中的手写类 seqcount 协议在其第二次计数器检查之前缺少一个读内存屏障(smp_rmb)。标准的内核函数 read_seqcount_retry() 包含 smp_rmb(),以确保在重新检查计数器之前完成所有数据读取。

如果没有此屏障,在弱排序架构(ARM、POWER)上,CPU 可能会将字段读取重排到第二次计数器检查之后,导致重试逻辑失效:它可能在观察到一致的计数器对的同时,读取了由写入者并发修改的字段。

在第二次计数器检查前添加 smp_rmb(),以使其先于字段读取进行排序,从而匹配标准 seqcount 读侧的屏障语义。begin-side 的 smp_load_acquire() 已经与 nfsd_dispatch() 中的 smp_store_release() 配对;随着 smp_rmb() 现在对字段读取进行排序,重试检查不再需要 acquire 语义,而是像 read_seqcount_retry() 那样使用普通的 READ_ONCE() 来读取计数器。

[ cel: 使用 READ_ONCE 代替 smp_load_acquire() ]

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

来源

Do you want to use VulDB in your project?

Use the official API to access entries easily!