Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Vulnerability Classification Using CVSS
📖 Scenario: You work in a cybersecurity team that needs to classify software vulnerabilities to understand their severity. You will use the Common Vulnerability Scoring System (CVSS) to organize vulnerabilities by their scores.
🎯 Goal: Create a simple classification system that groups vulnerabilities by their CVSS score ranges: Low, Medium, High, and Critical.
📋 What You'll Learn
Create a dictionary called vulnerabilities with exact CVSS scores for given vulnerabilities
Create a variable called classification as an empty dictionary to hold groups
Use a for loop with variables vuln and score to iterate over vulnerabilities.items()
Add the correct severity label to each vulnerability based on its CVSS score using the exact ranges
💡 Why This Matters
🌍 Real World
Security teams use CVSS scores to prioritize fixing vulnerabilities based on their severity to protect systems effectively.
💼 Career
Understanding how to classify and organize vulnerabilities by severity is essential for cybersecurity analysts and engineers to manage risks.
Progress0 / 4 steps
1
Create the vulnerabilities dictionary
Create a dictionary called vulnerabilities with these exact entries: 'SQL Injection': 9.8, 'Cross-Site Scripting': 6.1, 'Information Disclosure': 4.3, 'Denial of Service': 7.5, 'Buffer Overflow': 10.0.
Cybersecurity
Hint
Use curly braces to create a dictionary and separate each entry with a comma.
2
Create an empty classification dictionary
Create an empty dictionary called classification to store vulnerabilities grouped by severity levels.
Cybersecurity
Hint
Use empty curly braces to create an empty dictionary.
3
Classify vulnerabilities by CVSS score
Use a for loop with variables vuln and score to iterate over vulnerabilities.items(). Inside the loop, assign a severity label to each vulnerability based on its CVSS score: score < 4.0 is 'Low', 4.0 <= score < 7.0 is 'Medium', 7.0 <= score < 9.0 is 'High', and score >= 9.0 is 'Critical'.
Cybersecurity
Hint
Use if-elif-else statements inside the loop to assign severity labels.
4
Add vulnerabilities to classification groups
Inside the for loop, add each vulnerability to the classification dictionary under its severity label. If the label does not exist as a key, create a new list. Append the vulnerability name to the list for its severity.
Cybersecurity
Hint
Check if the severity key exists in the dictionary. If not, create a list. Then add the vulnerability to that list.
Practice
(1/5)
1. What does the CVSS Base Score primarily measure in vulnerability classification?
easy
A. The inherent severity of a vulnerability without considering time or environment
B. The current exploitability of a vulnerability based on available patches
C. The impact of a vulnerability on a specific organization's environment
D. The financial cost of fixing a vulnerability
Solution
Step 1: Understand CVSS score components
CVSS scores have three parts: Base, Temporal, and Environmental. The Base Score measures the fundamental severity of a vulnerability.
Step 2: Identify the role of the Base Score
The Base Score reflects the intrinsic characteristics of a vulnerability that do not change over time or across different environments.
Final Answer:
The inherent severity of a vulnerability without considering time or environment -> Option A
Quick Check:
Base Score = inherent severity [OK]
Hint: Base Score = core severity, ignore time and environment [OK]
Common Mistakes:
Confusing Base Score with Temporal or Environmental scores
Thinking Base Score changes over time
Assuming Base Score includes organizational impact
2. Which of the following is the correct format for a CVSS v3.1 vector string?
easy
A. CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
B. CVSS-3.1-AV:N-AC:L-PR:N-UI:N-S:U-C:H-I:H-A:H
C. CVSS3.1:AV=N;AC=L;PR=N;UI=N;S=U;C=H;I=H;A=H
D. CVSSv3.1[AV:N,AC:L,PR:N,UI:N,S:U,C:H,I:H,A:H]
Solution
Step 1: Recall CVSS v3.1 vector string syntax
The official CVSS v3.1 vector string starts with "CVSS:3.1" followed by slash-separated metric abbreviations and values.
Step 2: Compare options to official format
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H matches the correct format exactly, using slashes and colons as separators.
Final Answer:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H -> Option A
Quick Check:
Correct CVSS v3.1 vector format = CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H [OK]
Hint: Look for 'CVSS:3.1' prefix and slash separators [OK]
Common Mistakes:
Using dashes or semicolons instead of slashes
Missing the 'CVSS:3.1' prefix
Incorrect separator characters
3. Given a vulnerability with the following CVSS v3.1 Base metrics: Attack Vector (AV) = Network, Attack Complexity (AC) = Low, Privileges Required (PR) = None, User Interaction (UI) = None, Scope (S) = Unchanged, Confidentiality (C) = High, Integrity (I) = High, Availability (A) = High, what is the approximate Base Score?
medium
A. 5.0
B. 7.5
C. 9.8
D. 3.2
Solution
Step 1: Identify metric values and their impact
AV: Network (high impact), AC: Low (easy to exploit), PR: None (no privileges needed), UI: None (no user interaction), S: Unchanged, C/I/A: High impact on confidentiality, integrity, availability.
Step 2: Use CVSS v3.1 calculator logic
These metrics correspond to a critical vulnerability with a Base Score near 9.8, indicating very high severity.
Final Answer:
9.8 -> Option C
Quick Check:
Critical metrics with no privileges and high impact = 9.8 [OK]
Hint: High impact + no privileges + network vector = ~9.8 score [OK]
Common Mistakes:
Underestimating score by ignoring high impact metrics
Confusing Scope Unchanged with Changed
Mixing up privileges required levels
4. A security analyst notices a CVSS vector string: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N. What is the main error in interpreting this vector?
medium
A. Thinking privileges are required when they are not
B. Believing the attack vector is Network instead of Local
C. Ignoring that the scope is Changed, affecting impact
D. Assuming the vulnerability requires no user interaction
Solution
Step 1: Analyze the UI (User Interaction) metric
The vector shows UI:R, meaning user interaction is Required, not None.
Step 2: Identify common misinterpretation
Assuming UI:N (no user interaction) would be incorrect here; the vulnerability needs user action to exploit.
Final Answer:
Assuming the vulnerability requires no user interaction -> Option D
Quick Check:
UI:R means user interaction required, not none [OK]
Hint: Check UI metric carefully: R means user interaction required [OK]
Common Mistakes:
Ignoring UI:R and assuming no user action needed
Mixing up AV:L (Local) with Network
Overlooking Scope Changed impact
5. An organization wants to prioritize fixing vulnerabilities that have a high CVSS Environmental Score but a medium Base Score. Which approach best explains this prioritization?
hard
A. Fix only vulnerabilities with the highest Base Score regardless of environment
B. Focus on vulnerabilities that impact the organization's specific environment more severely, even if their general severity is medium
C. Ignore Environmental Scores and focus on Temporal Scores for patch urgency
D. Prioritize vulnerabilities with low Base Scores to reduce workload
Solution
Step 1: Understand Environmental Score purpose
The Environmental Score adjusts the Base Score to reflect how a vulnerability affects a specific organization's environment, considering factors like system importance and security controls.
Step 2: Apply prioritization logic
Prioritizing vulnerabilities with high Environmental Scores means focusing on those that pose greater risk in the organization's context, even if their Base Score is only medium.
Final Answer:
Focus on vulnerabilities that impact the organization's specific environment more severely, even if their general severity is medium -> Option B