目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1310

100%

CWE-367 检查时间与使用时间(TOCTOU)的竞争条件 类漏洞列表 341

CWE-367 检查时间与使用时间(TOCTOU)的竞争条件 类弱点 341 条 CVE 漏洞汇总,含 AI 中文分析。

CWE-367 属于竞态条件漏洞,指系统在检查资源状态后、实际使用前,资源状态发生不可控变化,导致检查失效。攻击者利用这一时间窗口,通过并发操作篡改资源,从而绕过安全验证或执行未授权操作。开发者应避免在检查与使用间插入耗时操作,采用原子性操作或加锁机制确保状态一致性,以消除竞争条件带来的安全风险。

MITRE CWE 官方描述
CWE:CWE-367 检查时-使用时(TOCTOU)竞态条件 英文:产品在利用资源之前会检查该资源的状态,但在检查与利用之间,资源的状态可能发生变化,从而导致检查结果失效。
常见影响 (6)
Integrity, OtherAlter Execution Logic, Unexpected State
The attacker can gain access to otherwise unauthorized resources.
Integrity, OtherModify Application Data, Modify Files or Directories, Modify Memory, Other
Race conditions such as this kind may be employed to gain read or write access to resources which are not normally readable or writable by the user in question.
Integrity, OtherOther
The resource in question, or other resources (through the corrupted one), may be changed in undesirable ways by a malicious user.
Non-RepudiationHide Activities
If a file or other resource is written in this method, as opposed to in a valid way, logging of the activity may not occur.
Non-Repudiation, OtherOther
In some cases it may be possible to delete files a malicious user might not otherwise have access to, such as log files.
缓解措施 (5)
ImplementationThe most basic advice for TOCTOU vulnerabilities is to not perform a check before the use. This does not resolve the underlying issue of the execution of a function on a resource whose state and identity cannot be assured, but it does help to limit the false sense of security given by the check.
ImplementationWhen the file being altered is owned by the current user and group, set the effective gid and uid to that of the current user and group when executing this statement.
Architecture and DesignLimit the interleaving of operations on files from multiple processes.
Implementation, Architecture and DesignIf you cannot perform operations atomically and you must share access to the resource between multiple processes or threads, then try to limit the amount of time (CPU cycles) between the check and use of the resource. This will not fix the problem, but it could make it more difficult for an attack to succeed.
ImplementationRecheck the resource after the use call to verify that the action was taken appropriately.
代码示例 (2)
The following code checks a file, then updates its contents.
struct stat *sb; ... lstat("...",sb); // it has not been updated since the last time it was read printf("stated file\n"); if (sb->st_mtimespec==...){ print("Now updating things\n"); updateThings(); }
Bad · C
The following code is from a program installed setuid root. The program performs certain file operations on behalf of non-privileged users, and uses access checks to ensure that it does not use its root privileges to perform operations that should otherwise be unavailable the current user. The program uses the access() system call to check if the person running the program has permission to access…
if(!access(file,W_OK)) { f = fopen(file,"w+"); operate(f); ... } else { fprintf(stderr,"Unable to open file %s.\n",file); }
Bad · C
CVE ID标题CVSS风险等级Published
CVE-2020-8833 Apport 安全漏洞 — Apport 5.6 Medium2020-04-22
CVE-2020-8867 OPC Foundation UA .NET Standard 代码问题漏洞 — UA .NET Standard 5.9 -2020-04-22
CVE-2020-8017 多款SUSE产品texlive-filesystem 竞争条件问题漏洞 — SUSE Linux Enterprise Module for Desktop Applications 15-SP1 6.2 Medium2020-04-02
CVE-2020-8016 SUSE openSUSE 竞争条件问题漏洞 — SUSE Linux Enterprise Module for Desktop Applications 15-SP1 4.9 Medium2020-04-02
CVE-2020-8873 Corel Parallels Desktop xHCI组件竞争条件问题漏洞 — Desktop 8.2 -2020-03-23
CVE-2019-11774 Eclipse OMR 竞争条件问题漏洞 — Eclipse OMR 7.4 -2019-09-12
CVE-2019-7307 Apport 竞争条件问题漏洞 — apport 7.0 -2019-08-29
CVE-2019-11775 Eclipse OpenJ9 竞争条件问题漏洞 — Eclipse OpenJ9 7.4 -2019-07-30
CVE-2019-5421 Plataformatec Devise 安全特征问题漏洞 — Devise ruby gem 9.1 -2019-04-03
CVE-2018-16872 QEMU 安全漏洞 — QEMU: 8.1 -2018-12-13
CVE-2018-1121 procps/procps-ng 安全漏洞 — procps-ng, procps 5.9 -2018-06-13

CWE-367(检查时间与使用时间(TOCTOU)的竞争条件) 是常见的弱点类别,本平台收录该类弱点关联的 341 条 CVE 漏洞。