Why This Matters#

Every system has vulnerabilities. The question isn’t whether they exist — it’s whether you find them before attackers do, and whether you fix the right ones fast enough. Vulnerability management is the continuous process of discovery, assessment, prioritization, and remediation.


Vulnerability Lifecycle#

flowchart LR
    Discover["Discover<br/>(scan, report, disclose)"] --> Assess["Assess<br/>(CVSS + context)"]
    Assess --> Prioritize["Prioritize<br/>(risk-based)"]
    Prioritize --> Remediate["Remediate<br/>(patch, mitigate, accept)"]
    Remediate --> Verify["Verify<br/>(rescan, validate)"]
    Verify --> Report["Report<br/>(metrics, trends)"]
    Report --> Discover

CVE, CWE, and CVSS#

CVE (Common Vulnerabilities and Exposures)#

Unique identifier for a specific vulnerability:

CVE-2024-3094 (XZ Utils backdoor)
CVE-2021-44228 (Log4Shell)
CVE-2023-44487 (HTTP/2 Rapid Reset)

CWE (Common Weakness Enumeration)#

Categories of vulnerability types (the “class” of bug):

CWENameExample
CWE-89SQL InjectionUnsanitized input in SQL query
CWE-79Cross-Site ScriptingUnescaped output in HTML
CWE-287Improper AuthenticationMissing auth check
CWE-502Deserialization of Untrusted DataPickle/Java deserialization
CWE-918Server-Side Request ForgeryUnvalidated URL fetch
CWE-798Hard-coded CredentialsPassword in source code

CVSS (Common Vulnerability Scoring System)#

Standardized severity scoring (0.0–10.0):

Metric GroupFactors
Base (intrinsic)Attack vector, complexity, privileges required, user interaction, scope, impact (CIA)
Temporal (changes over time)Exploit maturity, remediation level, report confidence
Environmental (your context)Modified base metrics for your specific environment

CVSS Severity Ratings#

ScoreRatingTypical SLA
9.0–10.0Critical24–48 hours
7.0–8.9High7 days
4.0–6.9Medium30 days
0.1–3.9Low90 days
0.0NoneInformational

Beyond CVSS: Risk-Based Prioritization#

CVSS alone is insufficient — a Critical CVE in an isolated test system is less urgent than a High CVE in a public-facing production service.

Factors for Prioritization#

flowchart TD
    CVSS["CVSS Score<br/>(severity)"]
    Exploit["Exploit Availability<br/>(is it being used?)"]
    Exposure["Asset Exposure<br/>(internet-facing? sensitive data?)"]
    Business["Business Context<br/>(revenue impact? compliance?)"]
    
    CVSS --> Risk["Actual Risk"]
    Exploit --> Risk
    Exposure --> Risk
    Business --> Risk
FactorQuestionHigh Risk If…
CVSS ScoreHow severe is the vuln?≥ 7.0
Exploit in the wildAre attackers using it?Yes (CISA KEV catalog)
Asset exposureIs it internet-facing?Public-facing, no WAF
Data sensitivityWhat data is at risk?PII, financial, credentials
Compensating controlsAre there mitigations?No WAF, no segmentation
Business criticalityWhat breaks if exploited?Revenue-generating service

EPSS (Exploit Prediction Scoring System)#

Predicts the probability a vulnerability will be exploited in the next 30 days (0–1.0):

EPSS ScoreInterpretation
> 0.9Almost certainly exploited — patch immediately
0.5–0.9High probability — prioritize
0.1–0.5Moderate — schedule remediation
< 0.1Low probability — normal cycle

CISA Known Exploited Vulnerabilities (KEV)#

Authoritative list of vulnerabilities actively exploited in the wild. If a CVE is on KEV, it’s being used by attackers NOW — treat as emergency.


Scanning Types#

Infrastructure Scanning#

TypeTargetToolsFrequency
Network vulnerability scanHosts, services, portsNessus, Qualys, OpenVASWeekly–Monthly
Cloud configuration scanAWS/Azure/GCP resourcesCheckov, Prowler, ScoutSuiteContinuous
Container image scanDocker imagesTrivy, Grype, Snyk ContainerEvery build
Compliance scanCIS benchmarks, standardsInSpec, LynisWeekly

Application Scanning#

TypeWhenWhat It FindsLimitations
SAST (Static)During developmentCode-level flaws (injection, hardcoded secrets)False positives, no runtime context
DAST (Dynamic)Against running appRuntime vulnerabilities (XSS, auth bypass)Can’t see code, slower
IAST (Interactive)During testingCombines SAST + DAST (instrumented)Requires test execution
SCA (Composition)CI/CD pipelineVulnerable dependenciesOnly known CVEs

Scanning Pipeline#

flowchart LR
    Commit["Developer<br/>Commit"] --> SAST["SAST<br/>(code scan)"]
    SAST --> SCA["SCA<br/>(dependency scan)"]
    SCA --> Build["Build<br/>(container)"]
    Build --> Image["Image Scan<br/>(CVEs)"]
    Image --> Deploy["Deploy to<br/>Staging"]
    Deploy --> DAST["DAST<br/>(runtime scan)"]
    DAST --> Prod["Production"]
    Prod --> Continuous["Continuous<br/>Scanning"]

Remediation Strategies#

StrategyWhen to UseExample
PatchFix available, low risk of regressionApply security update
UpgradeMajor version neededUpgrade library to non-vulnerable version
MitigateCan’t patch immediatelyWAF rule, network restriction
Compensating controlNo fix available (zero-day)Disable feature, add monitoring
AcceptRisk is below thresholdDocument decision, set review date
RemoveComponent unnecessaryDelete unused dependency

Remediation SLAs#

SeverityInternet-FacingInternalIsolated/Test
Critical24–48 hours7 days30 days
High7 days14 days60 days
Medium30 days60 days90 days
Low90 days180 daysBest effort

Software Bill of Materials (SBOM)#

A complete inventory of all components in your software:

FormatStandardUse Case
CycloneDXOWASPSecurity-focused, VEX support
SPDXLinux FoundationLicense compliance + security

Why SBOM Matters#

  • Incident response: “Are we affected by Log4Shell?” → check SBOM instantly
  • Compliance: Regulatory requirements (US Executive Order 14028)
  • Supply chain visibility: Know exactly what’s in your software
  • Vulnerability tracking: Continuous monitoring of all components

Vulnerability Disclosure#

Responsible Disclosure Process#

sequenceDiagram
    participant R as Researcher
    participant V as Vendor
    participant P as Public
    
    R->>V: Report vulnerability (private)
    V->>R: Acknowledge (within 5 days)
    V->>V: Develop fix
    V->>R: Share fix timeline
    Note over V: 90-day disclosure deadline
    V->>P: Release patch + advisory
    R->>P: Publish details (after patch)

Bug Bounty Programs#

PlatformTypePayout Range
HackerOneManaged platform$100–$250,000+
BugcrowdManaged platform$100–$100,000+
Private programsCompany-runVaries

Metrics and Reporting#

Key Vulnerability Metrics#

MetricWhat It MeasuresTarget
Mean Time to Remediate (MTTR)Average time from discovery to fix< SLA per severity
Vulnerability densityVulns per asset or per 1000 LOCDecreasing trend
SLA compliance% of vulns fixed within SLA> 95%
Scan coverage% of assets scanned100%
Reintroduction rateVulns that come back after fix< 5%
Risk reductionOverall risk score trendDecreasing

Key Takeaways#

  1. CVSS is not enough — combine with exploit availability, exposure, and business context
  2. CISA KEV = emergency — if it’s on the list, attackers are using it now
  3. Shift left — find vulnerabilities in code and dependencies before production
  4. SBOM is essential — you can’t protect what you can’t inventory
  5. Automate scanning — continuous, not quarterly
  6. SLAs drive accountability — define, measure, report
  7. Accept risk explicitly — document decisions, set review dates, never ignore silently