FlawOpen

flawopen.com/CWE 与 CVE

CWE 与 CVE:有什么区别?

参考页面
简短回答

CWE 表示一种弱点类型;CVE 标识一条漏洞记录。一种弱点可能出现在许多 CVE 中,一个 CVE 也可能涉及相互关联的多个弱点;有些 CVE 记录没有 CWE 映射。

一个具体的理解方式

CWE 对弱点进行分类,而 CVE ID 标识一条具体的漏洞记录。两者不是一对一关系:一种弱点可能导致许多 CVE,一个 CVE 也可能涉及弱点链。MITRE 的 CWE-126 条目以 Heartbleed(CVE-2014-0160)为例:长度处理不一致(CWE-130)导致了缓冲区越界读取(CWE-126)。该 CVE 仍是一条漏洞记录;两个 CWE 描述失败链中的不同环节。

它们在本站如何关联

flawopen.com 上的每个 ExplainerPage 都按 CWE 组织

"漏洞类别 × 语言"矩阵(Python 中的 SQL 注入、Java 中的 XSS 等)是围绕 CWE 类别构建的——讲的是通用模式及如何避免,而非某个具体产品的历史。

CVE 分析是一个独立且有选择性的层

当某个具体 CVE 足够重要且具有广泛相关性、值得专门介绍时,它会获得自己的分析文章,并链接回其 CWE 类别——但并非每个 CVE 都有,因为大多数只局限于单一产品/版本。

FAQ

谁维护 CWE 和 CVE?

MITRE 维护 CWE 列表。CWE 和 CVE 是职责互补的独立计划;CVE 记录由 CVE 编号机构(CNA)编写。NVD 是 NIST 的独立计划,它使用 CVE 数据,并可能添加自己的 CWE 映射及其他补充信息。NVD 的映射不一定是 CNA 最初提供的分类。

每个 CVE 都有 CWE 吗?

不是。CVE 记录可能没有具体的 CWE 映射。例如,NVD 对 CVE-2021-27823 显示 NVD-CWE-noinfo(“信息不足”)。NVD 可能同时显示 CNA 提供的 CWE 信息和 NVD 自己补充的映射。应将 CWE 标签视为分类元数据,而不是该记录已完整说明根因或漏洞链的证明。

参考资料

另请参阅 Mass Assignment:风险与安全字段白名单 Serverless 状态泄漏:按请求隔离用户数据 PHP == 与 Magic Hash 比较 Rust 的 unsafe 块仍能保证内存安全吗? strncpy() 比 strcpy() 更安全吗?