용어 사전

CVSS란? 취약점 심각도 점수와 그 계산 방식

CVSS는 취약점의 심각도를 0.0–10.0으로 평가하며, 정의된 지표(공격 벡터, 권한, CIA 영향)를 공개 공식으로 계산합니다 — 추측이 아닙니다. 채점 기준, 벡터 문자열, 10.0을 만드는 요소, 그리고 v3.1 vs v4.0을 다룹니다.

게시 2026-06-07 업데이트 2026-10-06 8분 읽기
이 페이지에서

"CVSS 10.0"이나 "CVSS 9.8 RCE" 같은 숫자는 거의 모든 취약점 기사 제목에 등장합니다. 이 숫자는 지어낸 것이 아니라, 정의된 지표 집합과 공식에서 나옵니다. 그 읽는 법을 바닥부터 살펴봅니다.

0.0–10.0
점수 범위
지표 8개
기본(v3.1)
10.0
최악 등급
FIRST
표준 관리 기관

점수 가이드

점수등급체감
9.0 – 10.0Critical즉시 조치; 흔히 장악 등급
7.0 – 8.9High곧 대응
4.0 – 6.9Medium계획에 포함
0.1 – 3.9Low주시

CVE가 취약점의 이름이라면, CVSS는 그 심각도 점수입니다. "CVSS 10.0 RCE"는 최고 등급의 원격 코드 실행을 뜻합니다 — 최악 등급.

CVSS의 채점 기준

CVSS 점수는 세 가지 지표 그룹으로 구성됩니다. "CVE-XXXX는 9.8"처럼 공개되는 값은 거의 항상 Base 점수입니다.

CVSS 점수 0.0 – 10.0

Base

취약점 그 자체. 공개되는 값.

Threat

익스플로잇 가용성에 따라 시간이 지나며 보정.

Environmental

내 환경과 우선순위에 맞게 재계산.

① 익스플로잇 용이성

AV 벡터AC 복잡도PR 권한UI 상호작용

② 영향

S 범위C 기밀성I 무결성A 가용성
CVSS의 구조. 공개되는 값은 보통 Base 점수이며, Threat와 Environmental은 내 상황에 맞게 점수를 보정합니다.

Base 점수는 대략 **"① 익스플로잇이 얼마나 쉬운가" × "② 영향이 얼마나 큰가"**입니다. 다음 두 표가 그 지표들입니다.

① 익스플로잇 용이성(얼마나 쉽게 공격되는가)

지표값최악(점수를 높임)
공격 벡터(AV)Network / Adjacent / Local / PhysicalNetwork(인터넷 너머)가 가장 위험
공격 복잡도(AC)Low / HighLow(특별 조건 불필요)가 위험
필요 권한(PR)None / Low / HighNone(로그인 불필요)이 위험
사용자 상호작용(UI)None / RequiredNone(피해자가 아무것도 안 함)이 위험

② 영향(성공하면 무슨 일이 일어나는가)

CIA = 보안의 세 기둥: 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability).

지표값"High"의 의미
범위(S)Unchanged / ChangedChanged = 침해가 원래의 권한 경계를 넘음
기밀성(C)High / Low / None데이터를 통째로 읽을 수 있음
무결성(I)High / Low / None데이터를 마음대로 변조할 수 있음
가용성(A)High / Low / None서비스를 완전히 멈출 수 있음

'Scope: Changed'가 점수를 끌어올린다

예를 들어 컨테이너 안에 갇힌 피해(Unchanged)와 거기서 호스트나 다른 서비스로 번지는 경우(Changed)의 차이입니다. 그 경계를 넘느냐가 다른 조건이 동일할 때 점수를 크게 움직입니다.

벡터 문자열: 점수의 내역을 한 줄로

모든 CVSS 점수에는 벡터 문자열이 따라옵니다 — 어떤 지표를 골랐는지의 기록, 즉 그 숫자의 이유입니다.

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H  →  10.0 (Critical)

분해해 보면 모두 "가장 위험"으로 설정되어 있습니다:

구간의미이 예시
AV:N공격 벡터 = Network인터넷 너머로 공격
AC:L공격 복잡도 = Low성공시키기 쉬움
PR:N필요 권한 = None인증 불필요
UI:N사용자 상호작용 = None피해자 행동 불필요
S:C범위 = Changed경계를 넘음
C:H / I:H / A:HCIA = 모두 High읽히고, 쓰이고, 멈춤

10.0과 9.8을 가르는 것

그 예시에서 범위를 "Unchanged"(S:U)로 바꾸면 같은 조건이 9.8이 됩니다. 경계를 넘느냐(S:C)가 최대치 10.0에 도달하게 합니다. 즉 9.8 vs 10.0 = "둘 다 최악 등급이지만, 피해가 한 단계 더 넓게 번짐"입니다.

v3.1 vs v4.0: 지금은 둘 다 유통 중

현재 버전은 v4.0(2023)이지만, 대부분의 CVE는 여전히 **v3.1(2019)**로 채점되므로 둘이 당분간 공존합니다.

CVSS v3.1CVSS v4.0
출시20192023
표기점수 + 벡터CVSS-B / BT / BE / BTE, 목적 명시
사용자 상호작용None / Required (2)None / Passive / Active (3)
범위Scope(S), 단일 지표"취약 시스템"과 "후속 시스템" 영향으로 분리
추가없음보충 지표 추가(자동화 가능성, 복구, 안전성…)

사례: 잘 알려진 취약점의 실제 점수

NVD에 실린 실제 점수입니다. 숫자가 실제 피해와 항상 일치하지는 않는다는 점, 그리고 평가자나 CVSS 버전에 따라 점수가 달라질 수 있다는 점을 보여 줍니다.

취약점CVSS v3.1벡터의 특징알 수 있는 것
Log4Shell (CVE-2021-44228)10.0 Critical모든 지표가 최악, S:C널리 쓰이는 구성요소 안의 전형적인 10.0
Apache Struts (CVE-2017-5638)9.8 CriticalS:U(범위 변경 없음)예전 v2에서는 10.0 — 버전에 따라 숫자가 달라진다
어느 VPN 장비의 취약점 (CVE-2018-13379)NVD 9.8 / 제품 벤더 9.1평가자마다 무결성 I를 다르게 평가같은 CVE라도 출처에 따라 점수가 다르다. 일본 한다 병원 사고(영문)의 침입 경로로 보고됨
Heartbleed (CVE-2014-0160)7.5 High기밀성 C:H만, 변조·중단 없음Critical이 아니었지만 개인 키가 노출될 수 있는 대형 사고가 되었다

네 건 모두 미국 CISA의 "악용이 확인된 취약점" 카탈로그(KEV)에 올라 있습니다. 7.5인 Heartbleed도 실제로 악용되었습니다. 점수만으로 "미뤄도 된다"고 판단할 수 없는 이유입니다.

점수 외에 확인할 것

기준이 있다는 점이 CVSS를 강력하게 만듭니다. 하지만 점수는 최악의 이론값입니다. 실무에서는 두 가지 요소를 곱하세요.

1

악용되고 있는지 확인(KEV)

실제 공격이 관측된 취약점(KEV — Known Exploited Vulnerabilities)은 점수와 무관하게 최우선입니다. "지금 공격받고 있음"이 이론적 숫자보다 중요합니다.

2

해당 기능을 쓰는지 확인

해당 구성요소를 쓰지 않는다면 CVSS 10.0도 실제 영향이 작고, 운영에서 그것을 건드린다면 중간 점수가 최우선입니다. 실제로 구동 중인 버전으로 판단하세요.

공개된 CVSS 10.0을 "내 문제 아님"으로 치부한 것이 부정 과금 사고로 이어졌습니다. 점수는 결코 방치의 이유가 될 수 없습니다. → 방치된 CVSS 10.0

내 환경에서 확인하는 방법

1

사용 중인 제품의 CVE와 점수를 찾는다

벤더의 보안 권고, NVD, JVN에서 확인합니다. CVE 번호를 알고 있다면 이 사이트의 CVE / KEV 조회에서 CVSS·EPSS·KEV를 한 번에 볼 수 있습니다.

2

벡터를 읽고 내 환경에 해당하는지 따져 본다

AV:N(네트워크 너머)이라도 해당 기능이 인터넷에 노출되어 있지 않다면 위험은 낮아집니다. PR:L(로그인 필요)이라면 누가 로그인할 수 있는지 확인하세요. 벡터를 CVSS 계산 · 벡터 해석에 붙여넣으면 각 항목의 의미를 볼 수 있습니다.

3

의존성 대조는 기계에 맡긴다

직접 만든 웹 앱이라면 lockfile을 의존성 취약점 스캐너나 Dependabot으로 검사해 해당하는 CVE와 점수를 목록으로 뽑습니다. 눈으로 일일이 추적하는 것보다 확실합니다.

출처(1차 자료)

  • FIRST, "CVSS v3.1 Specification Document" — first.org(지표와 심각도 등급)
  • FIRST, "CVSS v4.0 Specification Document" — first.org
  • NIST NVD, "CVE-2014-0160" — nvd.nist.gov(CVE-2021-44228, CVE-2017-5638, CVE-2018-13379의 점수와 벡터도 같은 방식으로 각 NVD 페이지에서 확인)
  • CISA, "Known Exploited Vulnerabilities Catalog" — cisa.gov
  • FIRST, "Exploit Prediction Scoring System (EPSS)" — first.org

다음으로 읽기

FAQ

QCVSS에는 실제 채점 기준이 있나요, 아니면 추측인가요?
A

정의된 기준이 있습니다. 지표 — 공격 벡터(AV), 공격 복잡도(AC), 필요 권한(PR), 사용자 상호작용(UI), 범위(S), 기밀성/무결성/가용성(CIA) — 를 선택해 공개 공식에 넣으면 0.0–10.0이 나옵니다. 재현 가능하도록 설계되어 있어, 같은 입력은 같은 점수를 냅니다.

Q점수는 누가 부여하나요?
A

표준은 FIRST가 관리합니다. 개별 CVE 점수는 기준을 따라 NVD(NIST)나 벤더가 부여합니다. 같은 취약점이라도 평가자에 따라 약간 다르게 채점될 수 있습니다.

Q몇 점부터 위험한가요?
A

기준으로: 9.0–10.0 Critical, 7.0–8.9 High, 4.0–6.9 Medium, 0.1–3.9 Low. 다만 점수는 최악의 이론값이므로 — 실제로 내 환경에 해당하는지도 함께 확인하세요.

Q높은 CVSS는 항상 먼저 고쳐야 하나요?
A

대개 그렇지만, 더 중요한 것은 활발히 악용되는가(KEV)와 해당 기능을 쓰는가입니다. 쓰지 않는 10.0은 영향이 0일 수 있고, 활발히 악용되는 중간 점수가 최우선입니다.

Qv3.1과 v4.0 중 어느 것을 봐야 하나요?
A

현재 버전은 v4.0(2023년 공개)이지만, 대부분의 CVE는 아직 v3.1로 채점되어 있어 당분간 둘 다 쓰입니다. 정의된 지표로 계산한 0–10 점수라는 읽는 법의 기본은 같으므로, 이 페이지의 내용은 어느 쪽에도 그대로 적용됩니다.

QCVSS 10.0은 무엇을 뜻하나요?
A

최고 점수입니다. 네트워크 너머에서, 쉽게, 로그인 없이, 사용자 조작 없이 공격이 성공하고, 공격자가 모든 것을 읽고 바꾸고 멈출 수 있으며, 피해가 취약한 소프트웨어 자체의 경계를 넘어 번질 때 부여됩니다. v3.1 벡터로는 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H입니다. Log4Shell(CVE-2021-44228)과 XZ Utils 백도어(CVE-2024-3094)가 모두 10.0이었습니다.

QCVE의 CVSS 점수는 어디서 확인하나요?
A

NVD(미국 NIST의 국가 취약점 데이터베이스), JVN(JPCERT/CC와 IPA가 운영하는 일본의 데이터베이스), 그리고 벤더의 보안 권고에서 확인할 수 있습니다. 같은 CVE라도 평가자에 따라 점수가 다를 수 있으므로, 누구의 점수인지 함께 확인하세요. 이 사이트의 CVE / KEV 조회에서는 CVE 번호로 CVSS 점수와 악용 여부(KEV)를 함께 볼 수 있습니다.

QCVSS와 EPSS는 무엇이 다른가요?
A

CVSS는 취약점이 악용되었을 때 얼마나 심각한지를 나타내는 0–10 점수이고, EPSS는 앞으로 30일 안에 악용될 확률의 추정치(0–1)입니다. 둘 다 FIRST가 공개합니다. CVSS가 높아도 EPSS가 낮을 수 있고 그 반대도 있으므로, 무엇부터 고칠지는 CVSS·EPSS·KEV(실제로 악용되고 있는지)를 조합해 정하세요.