You ran a vulnerability scan. It found 12,000 vulnerabilities. Now what? If your answer is “prioritize by CVSS score and work from the top,” you’re going to spend months patching things nobody is exploiting while ignoring the medium-severity vulnerability that an attacker used to breach your competitor last week. CVSS tells you how bad a vulnerability could be in theory. It doesn’t tell you whether anyone is actually exploiting it in the wild, whether it’s reachable in your environment, or whether your compensating controls already mitigate it.

A vulnerability management program that works doesn’t just scan and generate reports. It scans, prioritizes by actual risk, assigns ownership, tracks remediation against SLAs, and feeds lessons back into the process. Here’s how to build one that reduces risk instead of producing PDFs that nobody reads.

DO / DON’T

DO:

DON’T:

Building the Program

Step 1: Asset Inventory

You can’t scan what you don’t know about, and you can’t prioritize what you haven’t classified. Before you scan anything, make sure your asset inventory is current.

For each asset, you need:

Your vulnerability management program inherits the quality of your asset inventory. If the inventory is incomplete, your scan coverage has the same gaps. CIS Control 1 (Enterprise Asset Inventory) exists for this reason.

Step 2: Scanning

Scanner Selection

Choose your scanning approach based on your environment:

Common tools: Nessus, Qualys, Rapid7 InsightVM, OpenVAS (free/open source), and cloud-native options (AWS Inspector, Azure Defender, GCP Security Command Center).

Scan Frequency

Step 3: Prioritization

This is where most programs fail. Twelve thousand vulnerabilities sorted by CVSS score is not a prioritized remediation plan. It’s a spreadsheet of despair.

Risk-Based Prioritization

Layer these factors on top of CVSS:

Tools like EPSS (Exploit Prediction Scoring System) from FIRST.org estimate the probability of a vulnerability being exploited in the next 30 days. Combine EPSS with asset criticality for a prioritization model that reflects actual risk, not theoretical severity.

Patch SLAs

Define remediation timelines by risk tier and enforce them:

Tier Criteria SLA
Critical CISA KEV listed, or active exploitation confirmed, or internet-facing with public exploit 48 hours
High CVSS 7.0+ with exploit available, or CVSS 9.0+ without exploit, or on critical assets 14 days
Medium CVSS 4.0-6.9, or CVSS 7.0+ on non-critical internal assets 30 days
Low CVSS below 4.0, no known exploit, internal only 90 days

These are starting points. Adjust for your risk appetite, change management constraints, and operational requirements. The point is having documented, measurable timelines — not aspirational targets that nobody tracks.

Step 4: Remediation Tracking

Every vulnerability needs an owner, a timeline, and a status. Track remediation in a system that provides visibility — a ticketing system, a vulnerability management platform’s built-in tracking, or at minimum a structured spreadsheet.

For each vulnerability:

Report metrics to leadership monthly:

Step 5: Vulnerability Disclosure Program

If you build software, run services, or operate internet-facing infrastructure, you need a way for security researchers to report vulnerabilities to you.

A vulnerability disclosure program (VDP) is not a bug bounty. A bug bounty pays researchers for findings. A VDP simply provides a channel and a commitment to respond. CISA BOD 20-01 requires federal agencies to maintain a VDP, but every organization benefits from one.

At minimum:

If It Already Happened

If a vulnerability in your environment was exploited before you patched it:


Vulnerability management is a program, not a scan. Scan continuously, prioritize by exploitability and asset criticality (not just CVSS), set SLAs, track remediation, and report metrics. Start by scanning your internet-facing assets this week. Cross-reference the results against CISA’s KEV catalog. Patch whatever matches. That’s your first cycle. Then build the rest of the program around it.