FlawOpen

flawopen.com/CWE и CVE

CWE и CVE: в чём разница?

Справочная страница
Краткий ответ

CWE обозначает тип слабого места, а CVE — запись об уязвимости. Одно слабое место может встречаться во многих CVE, одна уязвимость может включать связанные слабые места, а в некоторых записях CVE сопоставление CWE отсутствует.

Наглядный способ это представить

CWE классифицирует слабое место, а идентификатор CVE указывает на конкретную запись об уязвимости. Связь не взаимно-однозначная: одно слабое место может лежать в основе многих CVE, а одна уязвимость может включать цепочку слабых мест. В записи MITRE CWE-126 в качестве примера приведён Heartbleed (CVE-2014-0160): несогласованная обработка длины (CWE-130) позволила прочитать данные за пределами буфера (CWE-126). CVE остаётся одной записью об уязвимости; два CWE описывают разные звенья цепочки сбоя.

Как они связаны на этом сайте

Каждая ExplainerPage на flawopen.com организована по CWE

Матрица класс уязвимости × язык (SQL-инъекция в Python, XSS в Java и т. д.) построена вокруг категорий CWE — общего шаблона и того, как его избежать, а не истории какого-то конкретного продукта.

Разборы CVE — это отдельный, выборочный слой

Когда конкретный CVE достаточно значим и широко релевантен, чтобы заслужить разбор, он получает собственную статью со ссылкой на свой класс CWE — но не каждый CVE её получает, поскольку большинство узко привязаны к одному продукту/версии.

FAQ

Кто ведёт CWE и CVE?

MITRE поддерживает список CWE. CWE и CVE — отдельные программы с взаимодополняющими задачами; записи CVE создают CVE Numbering Authorities (CNA). NVD — отдельная программа NIST, которая использует данные CVE и может добавлять собственные сопоставления CWE и другие обогащённые сведения. Сопоставление NVD не обязательно является исходной классификацией CNA.

У каждого ли CVE есть CWE?

Нет. В записи CVE может отсутствовать конкретное сопоставление CWE. Например, для CVE-2021-27823 NVD показывает NVD-CWE-noinfo («Недостаточно информации»). NVD может отображать данные CWE от CNA вместе с результатами собственного обогащения. CWE следует считать метаданными классификации, а не доказательством того, что запись полностью описывает первопричину или цепочку.

Источники

См. также Mass assignment: риски и безопасные списки полей Утечка состояния serverless: изоляция данных запросов PHP == и сравнение magic hash Безопасен ли Rust с блоком unsafe? Безопаснее ли strncpy(), чем strcpy()?