名詞解釋

什麼是 CVE?給漏洞分配全球通用識別碼的機制

CVE 是為全球漏洞分配唯一編號(例如 CVE-2025-12345)的通用台帳,是採取對策的起點。說明編號的讀法、CVE 與 CVSS、KEV 的職責區別、從分配到修復的流程,以及個人可行的機器監控追蹤法。

發布於 2026-06-07 更新於 2026-10-06 閱讀時間 3 分鐘
本頁內容

「CVE-2021-44228」「CVE-2017-5638」這類編號,在每則重大事故新聞裡都會出現。本文說明它們的含義,以及個人開發者實際可行的追蹤方法。

編號怎麼讀

CVE 編號由 3 個部分構成。編號本身不含嚴重程度的含義(嚴重程度是另外一回事)。

CVE通用前綴
–
2025分配編號的年份
–
12345該年份內的序號
CVE 識別碼的結構。序號並非固定 4 位,會根據需要增加位數。

為什麼需要它

漏洞每天都被大量發現。如果叫法各不相同,「你說的那個漏洞」和「我修好的這個漏洞」是不是同一個就分不清了。有了 CVE 這個通用 ID,新聞、修復修補程式、掃描器、資料庫就能可靠地指向同一個漏洞。這就是對策的起點。

誰來分配編號

CVE 由 CVE 計畫負責,營運者是美國的 MITRE,經費來自美國 CISA。實際分配編號的,是全世界獲得授權成為 CNA(CVE Numbering Authority,CVE 編號機構)的組織:軟體廠商、資安研究機構、各國的 CERT 等,總數達數百個。日本的 JPCERT/CC 也是其中之一。

CVE 紀錄有狀態之分。「Reserved(預留)」表示編號已先保留、細節尚未公開;「Published(已公開)」表示內容已公開;「Rejected(已駁回)」表示因重複或錯誤而撤回。如果新聞裡出現了某個編號卻查不到細節,它可能仍處於預留狀態。

CVE、NVD、JVN 的比較

同一個 CVE 編號,在不同地方查到的資訊不一樣。

名稱營運者內容適合用來
CVE(cve.org)MITRE(CISA 支援)編號、簡短說明、參考連結確認正式編號與概要
NVD美國 NISTCVE 資料加上 CVSS 分數與受影響產品查分數與哪些產品受影響
JVNJPCERT/CC 與 IPA日本產品的漏洞,日文的說明與對策日文細節、日本產品
KEV美國 CISA確認已被利用的 CVE,附修補期限決定優先順序

CVE、CVSS、KEV:各自告訴你什麼

這三者常常一起出現,但它們回答的是不同的問題。決定優先順序時三者都要用上。

術語回答的問題例子
CVE是哪個漏洞(名字)CVE-2021-44228(Log4Shell)
CVSS有多嚴重(0~10)10.0(最高一檔)
KEV是否已被實際利用列入被利用觀測清單=最高優先

CVSS 高≠最高優先,未必如此

分數是「最壞條件下的理論值」。在實務中要結合 KEV(是否正被實際利用) 和你自己是否在用那個功能一起判斷。CVSS 10.0 但沒在用,影響就很小;分數中等但正被利用,則是最高優先。

從分配編號到修復的流程

CVE 不是「一發現就立刻公開」,而是經過協調後才公開。大致是這樣的流程。

1

發現與通報

研究者或廠商發現漏洞,向編號分配機構(CNA)通報。
2

預留(Reserved)

先把 CVE 編號占下來。細節仍處於保密狀態。
3

修復與公開(Published)

配合修補程式發布同時揭露細節。多數會「與修復同時」公之於眾。
4

被利用觀測(列入 KEV)

一旦觀測到實際攻擊便被列為最高優先。此時還放任不管就會被攻破。

實例:經常出現在新聞裡的 CVE

以下是本站介紹過的事故與對應的 CVE 編號。不必背編號;重點是用編號搜尋,就能把各處關於同一個漏洞的資訊集中起來。

CVE 編號通稱/產品相關事故
CVE-2014-0160Heartbleed(OpenSSL)Heartbleed:伺服器記憶體外洩
CVE-2017-5638Apache StrutsEquifax:未修補而外洩 1.47 億人的資料
CVE-2018-13379VPN 設備半田醫院(英文):據報導是勒索軟體的入侵入口
CVE-2021-44228Log4Shell(Log4j)Log4Shell:在沒人注意到的間接相依中被使用
CVE-2023-34362MOVEit TransferMOVEit:損害擴及 2,700 多個組織
CVE-2024-3094XZ UtilsXZ Utils:發行檔被植入後門

編號一旦公開,攻擊者也在讀同樣的資訊。Equifax 與半田醫院的事故中,從修復釋出到遭入侵之間都隔了一段時間。在你套用修復之前的這段時間,就是可以被攻擊的時間。

個人開發者實際可行的追蹤方法

靠人力把所有 CVE 都追一遍是不可能的,而那個漏掉的疏忽會直接變成事故。→ 放任已知 CVE(CVSS 10.0)導致 1.47 億人資訊外洩的故事

所以要讓機器來盯。

常犯的錯誤

  • 看了新聞就憑人力判斷「我們應該沒事」
  • 只看 package.json 裡的寫法來估危險程度
  • 用「以後再更新」搪塞,不定截止期限

讓機器來盯

  • Dependabot(GitHub):對相依套件中相關的 CVE 自動發 PR 通知
  • osv-scanner(Google):檢查鎖定檔,在 CI 中只需一步
  • 以實際執行的版本來判定(不要輕信下限寫法)

要點在於以「實際執行的版本」來判定。package.json 裡的下限寫法,可能與實際執行的版本不同(RCE 的事故中,這也曾是誤判的原因)。

如何檢查自己的環境

1

查出某個 CVE 編號是什麼

把新聞裡看到的編號輸入 CVE / KEV 查詢,就能一次看到 CVSS 分數、被利用機率(EPSS),以及是否列在 KEV。

2

列出命中自己相依套件的 CVE

把 lockfile(package-lock.json、pnpm-lock.yaml 等)載入相依套件漏洞掃描器,就能得到符合的 CVE 與 GHSA 清單。npm 專案用 npm audit 也能做到同樣的事。

3

伺服器與設備以產品名稱和版本比對

伺服器、VPN 設備等不在套件管理工具裡的產品,請查看廠商的公告,確認你執行中的版本是否受影響。若受影響,就訂下更新的期限(→ 實際處理 CVE 的流程)。

出處(一手資料)

  • CVE Program, "Process" — cve.org(由 CNA 分配編號與 CVE 紀錄的狀態)
  • NIST, "National Vulnerability Database" — nvd.nist.gov
  • JPCERT/CC 與 IPA, "JVN (Japan Vulnerability Notes)" — jvn.jp
  • CISA, "Known Exploited Vulnerabilities Catalog" — cisa.gov

接下來讀什麼

FAQ

QCVE 編號怎麼讀?
A

它的形式是「CVE-西元年份-序號」。例如 CVE-2025-12345 就是 2025 年分配的漏洞。編號本身不含嚴重程度的含義,嚴重程度另由 CVSS 表示。序號並非固定 4 位,會根據需要增加位數。

QCVE、CVSS、KEV 有什麼區別?
A

CVE 是表示「是哪個漏洞」的名字,CVSS 是表示「有多嚴重」的 0~10 分數,KEV 是「是否已觀測到實際被利用」的清單。在決定優先順序時,不應只看 CVSS 的高低,把 KEV(是否正在被攻擊)看得更重才更貼近實務。

Q個人開發者要把所有 CVE 都追一遍是不是不可能?
A

靠人力確實不可能,漏掉就會變成事故。所以要讓機器來盯。用 Dependabot(GitHub)或 osv-scanner,讓它只對你自己相依套件中相關的 CVE 自動通知,這才實際。

QCVE 是什麼的縮寫?
A

Common Vulnerabilities and Exposures(通用漏洞揭露)。這是 1999 年開始的 CVE 計畫,為已公開的漏洞分配共通的識別碼。由美國非營利組織 MITRE 營運,經費來自美國網路安全暨基礎設施安全局(CISA)。

QCVE、NVD、JVN 有什麼不同?
A

CVE 是識別碼與簡短說明的清單。NVD 是美國 NIST 營運的資料庫,為每個 CVE 加上 CVSS 分數與受影響產品等資訊。JVN 是日本的漏洞入口網站,由 JPCERT/CC 與 IPA 營運,涵蓋日本產品並附上日文說明。三者都能用同一個 CVE 編號搜尋。

Q有沒有沒分配 CVE 編號的漏洞?
A

有。有些漏洞修好了卻沒人申請 CVE,有些只有廠商自己的公告編號,有些只有 GitHub 的公告編號(GHSA-...)。沒有 CVE 不代表安全。相依套件方面,osv-scanner 這類工具會同時比對 CVE、GHSA 等多個來源,比較可靠。