Vulnerability Management
CVE
Vulnerability Management
Patching
EPSS
+3 more

Building a Vulnerability Management Program: CVE Tracking, Prioritization & Patching

SCR Security Research Team
January 24, 2026
19 min read
Share

The Vulnerability Flood

The number of reported vulnerabilities is growing exponentially, and the trend is accelerating:

YearNew CVEs PublishedCritical/HighChange
202018,3625,108
202120,1745,891+10%
202225,2277,142+25%
202328,9618,314+15%
202433,1379,852+14%
2025 (projected)38,000+11,000++15%

Source: NIST NVD, CVE.org

The Hard Truth: You cannot patch every vulnerability. No organization has the resources to fix 33,000+ CVEs per year across their entire infrastructure. The answer is risk-based prioritization — focus on the vulnerabilities that matter most to your specific environment.


Risk-Based Prioritization

CVSS Is Not Enough

CVSS (Common Vulnerability Scoring System) scores measure theoretical severity, not real-world risk. A CVSS 9.8 vulnerability in a library you don't use is zero risk. A CVSS 6.5 vulnerability in your internet-facing authentication service is critical.

Factors for Real Risk Assessment:

FactorQuestionWeight
CVSS ScoreHow severe is the vulnerability?Medium
EPSS ScoreWhat's the probability of exploitation?High
CISA KEVIs it actively exploited in the wild?Very High
Asset CriticalityIs the affected system business-critical?Very High
ExposureIs it internet-facing or internal-only?High
Compensating ControlsAre there mitigations in place?Medium
Exploit AvailabilityIs there a public exploit?High

EPSS: Exploit Prediction Scoring System

EPSS predicts the probability that a vulnerability will be exploited in the wild within the next 30 days.

EPSS ScoreInterpretationAction
> 0.7 (70%)Very likely to be exploitedPatch within 24 hours
0.3 - 0.7Moderate exploitation probabilityPatch within 7 days
0.1 - 0.3Low exploitation probabilityPatch within 30 days
< 0.1 (10%)Unlikely to be exploitedPatch in next maintenance cycle

CISA KEV (Known Exploited Vulnerabilities Catalog)

CISA's KEV catalog lists vulnerabilities that are confirmed actively exploited in the wild. If a vulnerability is on this list, patch immediately.


Vulnerability Management SLAs

SeverityCriteriaSLAEscalation
P0: EmergencyCISA KEV + internet-facing OR active exploitation against you24 hoursImmediate exec notification
P1: CriticalCVSS ≥ 9.0 + exploitable + internet-facing72 hoursCISO notification
P2: HighCVSS 7.0-8.9 OR EPSS > 0.314 daysTeam lead notification
P3: MediumCVSS 4.0-6.9 AND low EPSS30 daysSprint planning
P4: LowCVSS < 4.0 AND no known exploit90 daysBacklog

Vulnerability Scanning Strategy

Scanner TypeCoverageFrequencyTools
InfrastructureServers, network devices, cloud resourcesWeeklyNessus, Qualys, Rapid7
Application (DAST)Web applications, APIsWeekly on stagingOWASP ZAP, Burp Enterprise
Dependency (SCA)Libraries, packagesEvery buildSnyk, npm audit, Trivy
ContainerDocker images, registriesEvery build + daily registry scanTrivy, Grype, Anchore
CloudAWS/Azure/GCP misconfigurationsContinuousProwler, ScoutSuite, Wiz
IaCTerraform, K8s manifestsEvery PRCheckov, tfsec

Automated Patching

What Should Be Auto-Patched?

CategoryAuto-Patch?Rationale
OS security updatesYes (non-breaking)Well-tested, low risk
Minor dependency updatesYes (with tests)Semver minor = backward compatible
Critical CVE patchesYes (with rollback)Speed > caution for active exploits
Major version upgradesNo (manual review)Breaking changes likely
Custom application patchesNo (manual)Requires code review and testing

Automated Patching Pipeline

# Dependabot configuration for automated updates
# .github/dependabot.yml
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 10
    labels:
      - "dependencies"
      - "automated"
    # Auto-merge minor and patch updates
    # Major updates require manual review

Metrics and Reporting

KPITargetFormula
Mean Time to Remediate (Critical)< 72 hoursAvg time from discovery to fix
SLA compliance rate> 95%Vulns fixed within SLA / total vulns
Vulnerability densityDecreasing trendOpen vulns / total assets
Scan coverage> 99%Scanned assets / total assets
Age of oldest unpatched critical< 14 daysCalendar days since discovery
False positive rate< 10%False positives / total findings

Further Reading

Advertisement