CyberGlossary

漏洞

竞态条件

别称: 并发缺陷

定义

系统的安全性或正确性依赖于并发操作的时序或顺序的缺陷,攻击者可借机交错执行并绕过检查。

竞态条件出现在多个线程、进程或参与者访问共享状态时缺乏适当同步,攻击者由此可以抓住时间窗口观察中间状态或在操作之间篡改状态。安全相关变体包括 TOCTOU(检查与使用之间)、金融逻辑中的原子性失败、信号处理函数重入等。利用通常需要精准的调度、通过线程池冲击内核或借助文件系统技巧(重命名、符号链接)。防御措施包括正确加锁、事务、原子的 compare-and-swap、基于文件描述符的 API(openat、fstatat)、幂等设计以及 ThreadSanitizer 等工具与正式的并发评审。

示例

  • CVE-2016-5195(Dirty COW):Linux 内核 COW 处理中的竞态条件。
  • 在 access() 与 open() 之间替换文件的文件系统竞态。

相关术语