A Patch Management Strategy That Actually Works
Most patch management fails not because of tooling, but because of process. Here's a pragmatic framework that balances speed with stability.
Why Patching Is Broken
Every security team knows patching is important. Most struggle to do it well. The reasons are usually the same:
- Too many patches, not enough time. Microsoft alone releases 100+ patches per month. Add in Linux, open-source libraries, containers, and SaaS tools, and the backlog grows faster than you can clear it.
- Fear of breaking things. Production systems are fragile. A bad patch can cause downtime that costs more than the vulnerability it fixes.
- No clear prioritization. When everything is "critical," nothing is. Teams patch alphabetically, by vendor, or by whoever screams loudest.
- Ownership gaps. Nobody owns the legacy app. Nobody owns the test environment. Nobody owns the container base images. Unowned systems don't get patched.
A Framework That Works
Here's a pragmatic patch management framework that balances security urgency with operational stability.
Tier 1: Emergency (Patch Within 72 Hours)
Criteria: Any of these:
- Listed on CISA KEV catalog
- CVSS ≥ 9.0 AND EPSS > 0.5
- Active exploitation confirmed by trusted source
- Affects internet-facing systems
Process:
- Automated alert triggers on-call engineer
- Impact assessment: which systems are affected?
- Test patch in staging (abbreviated testing, 2-4 hours, not days)
- Deploy to production with rollback plan
- Verify patch applied and vulnerability resolved
For Tier 1 patches, speed matters more than perfection. A 2-hour test cycle with a rollback plan is better than a 2-week test cycle while attackers are actively exploiting.
Tier 2: Urgent (Patch Within 14 Days)
Criteria:
- CVSS ≥ 7.0 OR EPSS > 0.3
- Affects your technology stack (version-matched)
- Proof-of-concept exploit exists
- Vendor recommends immediate patching
Process:
- Added to next sprint/maintenance window
- Standard testing in staging environment
- Deployed during regular maintenance window
- Post-deployment verification
Most of your patching workload falls here. A regular cadence (weekly or bi-weekly maintenance windows) keeps the queue manageable.
Tier 3: Routine (Patch Within 30 Days)
Criteria:
- CVSS 4.0–6.9
- No known exploitation
- Affects your stack but requires local access or unlikely conditions
Process:
- Batched into monthly patch cycle
- Standard testing
- Deployed with routine updates
Tier 4: Deferred (Patch Within 90 Days or Accept Risk)
Criteria:
- CVSS < 4.0
- Affects non-critical systems
- Low EPSS, no exploitation
- Requires significant effort to patch (major version upgrade, architecture change)
Process:
- Tracked in backlog
- Addressed during scheduled upgrades or as capacity allows
- Document risk acceptance if deferring beyond 90 days
Making It Work: The Practical Details
Automate discovery. Don't rely on humans to notice new patches. Use Dependabot, Renovate, package manager audit commands, and CVE alerting platforms (like ours) to surface what needs attention.
Define ownership. Every system, every application, every container image has an owner. If nobody owns it, it doesn't get patched, and eventually it gets breached. Assign owners explicitly.
Track metrics that matter:
- Mean time to patch (MTTP): How long from CVE publication to patch deployed?
- KEV remediation time: How quickly do you close KEV-listed vulnerabilities?
- Patch coverage: What percentage of known vulnerabilities in your stack are remediated?
- Exception count: How many vulnerabilities have risk acceptance beyond their SLA?
Accept some risk explicitly. Not every vulnerability can be patched immediately. That's okay, but the decision to defer should be documented, time-bounded, and reviewed. "We accept the risk of CVE-2025-XXXX for 60 days because the patch requires a major version upgrade scheduled for Q2" is a reasonable risk decision. "We didn't notice" is not.
Test smart, not exhaustively. For Tier 1 patches, a focused smoke test (does the application start? do critical flows work?) is sufficient. For routine patches, use automated test suites. The goal is confidence, not certainty, waiting for perfect testing is worse than patching with good-enough testing.
The Cultural Piece
Patch management fails when it's treated as a security team problem. It's an engineering problem. Security identifies what needs patching. Engineering patches it. Leadership provides the time and priority.
The organizations that patch well are the ones where:
- Patching has dedicated time in every sprint
- Breaking changes from patches are treated as normal engineering work, not crises
- Security and engineering have shared metrics and shared accountability
- "We can't patch because it might break something" requires the same justification as "we can't ship the feature because it might break something"
Patching isn't glamorous. It's the cybersecurity equivalent of changing your oil. Skip it long enough, and the engine seizes.
Stay ahead of threats
Get AI-filtered CVE alerts for your specific tech stack. Free to start.
Start for freeMore articles
SOC 2 Vulnerability Management: Evidence Auditors Ask For
7 min read
GuideNIS2 Vulnerability Management: What Articles 21 and 23 Require
7 min read
GuideCyber Resilience Act: The 24-Hour Vulnerability Report Rule
7 min read
GuideAgentless Vulnerability Management: The Budget-Friendly Approach
7 min read
GuideHow to Build a Vulnerability Management Program on a $0 Budget
8 min read
GuideContainer Security: CVEs in Docker and Kubernetes You Should Know
7 min read