Security Foundations
Intermediate 14 min read Security Foundations

Vulnerabilities, CVSS and Exploit Basics

Reading the vulnerability ecosystem

A vulnerability is a flaw; an exploit is code that uses it; CVSS scores severity; CVE IDs give it a name. Analysts read these artifacts constantly to triage and prioritize.

CVECVSSvulnerabilityexploitdisclosureEPSS
Prerequisites: Risk Management
Before we start

What you will learn

  • Distinguish vulnerability, exploit, CVE, CVSS and CWE
  • Read a CVSS vector and explain how severity is scored
  • Make patching decisions using severity, exposure and exploit predictions
Introduction

What is this?

A vulnerability is a security flaw; an exploit is code that triggers it; a CVE ID names a public vulnerability; CWE classifies flaw types; CVSS computes a severity score; EPSS predicts exploit likelihood. The 'catalog' workflow — feed CVEs into a scanner, rank by CVSS, patch by priority — runs on this ecosystem. But severity ≠ risk: exposure and exploitability matter as much as the score.

Motivation

Why do you need it?

  • Every vulnerability management program's numbers come from this ecosystem — you must read them critically.
  • CVSS 10 doesn't mean 'patch this first', it means 'this flaw is severe'; a reachable CVSS 6 can outrank an isolated CVSS 9.
  • CVE/CWE language unifies vendors, scanners and advisories so analysts can correlate.
  • EPSS and threat intel make scoring dynamic: attackers don't spread evenly over scores.
Think about it

Mental model

Imagine

A street's pothole report

Think of

CVE/CVSS/patch workflow

A pothole gets an ID (CVE), a severity label (CVSS), a map location (CWE: 'drainage flaw'), and an actual 'has someone driven into it' rate (EPSS). City crews fix by ID and severity — but the busiest route with a moderate pothole outranks a quiet street's big one.

Mechanics

How it works

  • Disclosure: researchers/founders report; a CVE is assigned with a description, references and often a crafted CVSS vector.
  • CVSS v3/v4 computes Base (attack vector, complexity, privileges, scope, C/I/A impact) then Temporal/Environmental modifiers.
  • CWE categorizes the flaw class (e.g., CWE-89 SQL injection), which searchable indexes use.
  • Frameworks publish feeds (NVD/OSV/OSV-scanner), scanners match installed versions against them.
  • EPSS scores 'probability of exploitation in the wild' per CVE using observed data.
  • Patching pipeline: severity + reachability + exploit-in-wild → priority and deadline.

From disclosure to patched.

Flaw found
Scored
Published
Scanner matches
Triage & patch
Real world

In production

  • A scanner flags 'Log4Shell-related CVE in a library'; the team checks whether the vulnerable path is reachable from the internet before patching everywhere.
  • Threat intel shows active exploitation of an ESXi CVE; the team force-schedules a reboot window despite the CVSS being 'only' 8.
  • A monthly remediation report ranks CVEs by EPSS+exploitation, not raw CVSS, so the patchiest bugs get fixed first.
Guidelines

Best practices

  • Treat severity and risk as separate: severity (CVSS) × exposure × exploit-prediction → priority.
  • Automate inventory→feed matching; manual CVE-browsing misses the point.
  • Confirm reachability: a CVSS 9 behind a hard boundary may be lower priority than a CVSS 7 in the DMZ.
  • Maintain a patch baseline and a documented risk-acceptance process for unpatchable systems.
Watch out

Common mistakes

  • Patching purely by CVSS and letting high-EPSS low-CVSS bugs sit — attackers score differently than NVD.
  • Ignoring library/transitive deps because the scanner report 'had no criticals' (transitive bugs still execute).
  • Assuming 'mitigated by config' — untested, undocumented mitigations are the classic false comfort.
  • Waiting for a CVE to exist to care: a zero-day against your stack is worse than a patched-feature bug.
When things break

Debugging tips

  • For weird scanner results, query the CVE's own advisory/references — scanners paraphrase and often lag.
  • When two scanners disagree on a version, check package managers' lock files, not the deployed binary name.
  • For 'we're fine because not reachable', prove it: firewall/test the path, and write the decision with an owner.
Security

Security considerations

  • Legitimate intel channels (NVD, vendor advisories, OSV) are the place to learn about flaws; never probe other systems.
  • Practicing 'exploit basics' belongs only in your own lab against DVWA/your targets — never real-world hosts.
Interviews

Interview checkpoint

Test yourself

Quick quiz

0/2
1

What does EPSS attempt to predict for a CVE?

2

A CVSS of 10.0 automatically means 'patch this immediately everywhere'.

Go deeper

Official documentation