CVE 是什么
安全公告里满是「某某漏洞」「编号 CVE-2024-3094」这类字样。CVE 本身不是漏洞,也不是评分,更不是漏洞库;它只是一套编号规则,由 MITRE 维护、由 CNA 机构签发。理解这一点,是看懂后续一切漏洞情报的前提。
## 一、本质:给漏洞一个全球唯一的名字
同一个缓冲区溢出漏洞,红帽叫 RHSA-2024-xxxx,Uboot 里可能叫 CAN-2003-xxxx,厂商公告叫「高危远程代码执行」,社区叫「心脏出血」又叫 Heartbleed。语言不统一,就没法做统计、没法比对补丁、没法在工单里指代同一个东西。
CVE 解决的就是这一件事:一个已公开披露的漏洞,分配一个形如 `CVE-YYYY-NNNN` 的编号,从此各方描述同一漏洞时都引用这个号。
```text
CVE-2021-44228 拆解(自左向右):
1. CVE:固定前缀
2. 2021:分配或披露年份
3. 44228:当年第 44228 号(四位以上,不足补零到 4 位)
```
编号只标识「这一个漏洞」,不包含任何严重程度、利用难度、影响范围信息。这些在旁边的 CVSS 分里,两个体系经常一起出现,但不是一回事。
编号的价值随引用密度上升:一份漏洞公告、一个扫描器规则、一条工单记录、一份合规清单,指向同一个号,机器才能做关联,人才能少吵架。反过来,同一漏洞若在不同系统里各有一个本地编号,每次比对都要靠人工翻译,漏洞管理的第一道成本就耗在命名对齐上。
## 二、编号从哪来:CNA 制度
CVE 编号不由 MITRE 逐个签发,而是由一组「CVE 编号机构」(CNA)负责。厂商、开源项目、研究机构、部分国家 CERT 都可以是 CNA,各自负责自己辖区的编号申请。
```text
编号申请流程(按步骤):
1. 提交编号申请
2. CNA 校验是否重复、是否已公开
3. 分配编号
4. 写入 CVE List
分支:若已被别人报过,则拒绝并指向已有编号
```
常见的争议点也来自这里:编号被「预留」但迟迟不披露,或者同一批代码被拆成多个编号,都会让统计口径对不上。看漏洞数量趋势时要留意这一点。
## 三、状态与关联字段
一条 CVE 记录除编号外,真正有用的是它的状态和关联信息:
```text
状态:PUBLISHED / REJECTED / DISPUTED / RESERVED
关联:
1. CWE(缺陷类型)
2. CPE(受影响产品)
3. CVSS(严重度)
4. 参考链接(厂商公告、补丁、分析文章)
5. 时间线(公开、补丁、在野利用)
```
`REJECTED` 和 `DISPUTED` 最容易被误读:前者表示编号分配后发现问题不成立或重复,后者表示相关方对是否算漏洞有分歧。两者都不代表「没有风险」。
## 四、几个常见误解
| 误解 | 实际 |
|---|---|
| CVE 是漏洞库 | 只是编号注册表,数据分散在各 NVD、厂商、社区库里 |
| 有编号就等于已修复 | 编号与补丁无必然关系,只表示已被记录 |
| 一个编号对应一个产品 | 对应一个具体缺陷,可能影响多个产品多个版本 |
| 编号顺序代表发现顺序 | 只代表申请顺序,且可能预留后补 |
| 编号带年份就一定那年发现 | 年份取分配或披露年份,漏洞可能早已存在 |
## 五、和其他概念的分界
CVE 回答「是哪个漏洞」,CWE 回答「这是哪类缺陷」,CVSS 回答「有多严重」,CPE 回答「哪些产品受影响」,KEV 回答「是否已被实际利用」。五者常同时出现,各管一段,混用时最常见的错误是把 CVE 编号当成严重度排序依据。另一个分界误区是把编号数量直接当安全水平指标:编号增长反映的是披露与登记活跃度,不等于漏洞真的变多或变少。
```text
一次典型引用:
1. CVE-2024-3094:编号
2. CWE-1104:类型,使用未维护的第三方组件
3. CPE 2.3:a:xz_project:xz:5.6.0:受影响版本
4. CVSS 10.0:严重度(CVSS 口径)
5. KEV: yes:已知在野利用
```
参考文档:
```
https://www.cve.org/
https://cwe.mitre.org/
https://nvd.nist.gov/
```
- 点赞
- 收藏
- 关注作者
评论(0)