Cloudanix Joins AWS ISV Accelerate Program

How to Prioritize Which CVEs to Fix: KEV, EPSS, and Runtime Context

A practical framework for deciding which CVEs to fix first. Learn why CVSS alone misleads, how CISA KEV and EPSS sharpen likelihood, and how runtime context turns a flat CVE list into a ranked, fixable queue.

Every vulnerability scanner produces the same uncomfortable artifact: a list far longer than any team can fix. Hundreds of CVEs, many marked “critical,” arriving faster than they can be closed. The hard part was never finding vulnerabilities — scanners are very good at that. The hard part is deciding which handful, out of hundreds, to fix first.

This guide is a practical framework for making that decision. It explains why the severity score you already have is the wrong sorting key, which signals actually predict risk, and how to combine them into a queue your team can work top-down with confidence. For the broader strategic view, see how to prioritize vulnerabilities based on business risk; this piece is specifically about CVEs and the mechanics of ranking them.

Why sorting by CVSS fails

Most teams sort their backlog by CVSS score, highest first. It feels rigorous, and it is the default in almost every tool. It is also the wrong starting point, for a reason worth understanding clearly.

CVSS describes a vulnerability in the abstract, not in your environment. It is a base-rate measure of how severe a flaw could be under worst-case assumptions — maximum exposure, maximum impact. It is a property of the CVE itself, not of your deployment. Two consequences follow:

  • It assumes the worst, every time. A CVSS 9.8 is scored as if the affected component is internet-facing, in the exploit path, and attached to something valuable. In your environment it might be none of those. CVSS cannot tell the difference.
  • It does not move when your environment changes. Put the component behind a private subnet, scope down its permissions, remove the public route — the CVSS stays 9.8. It was never about your network in the first place.

The result of CVSS-first sorting is predictable: a backlog ordered by hypothetical worst cases, where the genuinely dangerous CVE and the harmless-in-your-context CVE sit side by side with the same score, and the team burns effort on whichever happens to be near the top.

CVSS is not useless — it is a shared vocabulary for inherent severity, and it belongs in the picture. It just belongs as one input, not as the sort order.

The three questions that actually rank a CVE

A good prioritization decision answers three questions in order. Each one filters the list further, and together they turn “hundreds of criticals” into “these few, first.”

Question 1: How likely is this to be exploited?

CVSS tells you how bad a CVE could be. It says nothing about how likely anyone is to actually use it. Two freely available signals fix that:

  • CISA KEV (Known Exploited Vulnerabilities). This is a catalog of CVEs confirmed to be exploited in the wild right now. A match against KEV is the strongest possible likelihood signal — it is not a prediction, it is an observation. Anything in your estate that matches KEV jumps the queue regardless of its CVSS. See what is the CISA KEV catalog.
  • EPSS (Exploit Prediction Scoring System). EPSS gives each CVE a probability that it will be exploited in the near term. It moves you from “how bad could this be” to “how likely is this to be attacked,” which is a very different and far more useful axis for triage. A CVSS 9 with a 0.1% EPSS is a lower operational priority than a CVSS 6 with a 40% EPSS. See what is EPSS.

Overlaying KEV and EPSS onto an existing backlog is the single cheapest improvement most teams can make. It immediately pushes confirmed-and-likely-exploited issues up and buries the long tail of theoretically-severe-but-nobody-is-using-it CVEs.

Question 2: Does the vulnerable code actually run — and is it exposed?

Likelihood tells you whether a CVE is being attacked somewhere. It does not tell you whether it is exploitable in your environment. That depends on context the CVE record cannot contain:

  • Is the affected component actually deployed and running, or does it only exist in a repo whose artifacts nothing runs?
  • For a dependency, is the vulnerable code even reached? A huge fraction of dependency CVEs sit in transitive packages whose vulnerable function your code never calls. Those are present, but not a live risk.
  • Is the workload exposed? An internet-facing service is a different risk from an internal batch job behind two network boundaries.

This is the step that collapses the backlog the most, because so much of a typical CVE list consists of findings that are present-but-not-running, or deployed-but-not-reachable. Answering it requires connecting the finding to the runtime — which is why it is impossible to do well from a flat scanner report alone.

Question 3: What is behind it if it is exploited?

Finally, the blast radius. A reachable, exposed, actively-exploited CVE on a service whose identity can only read one harmless queue is serious but bounded. The same CVE on a service whose role can read your production customer database is a five-alarm fire. The CVE is identical; the consequence is not.

Prioritization that ignores this treats “foothold on a throwaway service” and “foothold on a path to crown-jewel data” as equal. They are not. The thing worth protecting — the data, the credentials, the further systems reachable from the compromised workload — is what should break ties at the top of the queue.

Putting it together: from flat list to ranked queue

Stack the three questions and you get a repeatable ranking logic, roughly in this order of what rises to the top:

  1. Confirmed-exploited (KEV) + reachable/running + exposed + sensitive target behind it — fix tonight.
  2. High EPSS + running + exposed — fix this week.
  3. High EPSS or KEV, but not currently reachable/exposed — scheduled, and worth watching in case exposure changes.
  4. High CVSS, low EPSS, not reachable, not exposed — the long tail. Patch during normal maintenance; do not let it crowd out the above.

Notice CVSS is still present — it informs steps 1 and 4 — but it is no longer the sort key. The sort key is exploitability in your environment, assembled from likelihood, reachability/exposure, and blast radius.

A short worked example makes the inversion concrete. A CVSS 9.8 in a transitive dependency whose vulnerable function is never called, in a service with no inbound route, ranks below a CVSS 6.5 that is KEV-listed, reachable, running on an internet-facing API, on a workload whose role can read customer PII. CVSS-first sorting gets this exactly backwards; context-first sorting gets it right. The same reasoning, worked end to end as an attack path, is in which vulnerabilities are actually running in production.

Operationalizing the queue: SLAs, ownership, and exceptions

A ranked list only reduces risk if the organization acts on it consistently. Three operational habits turn prioritization from a one-off exercise into a durable program:

  • Tie remediation SLAs to the ranking, not to raw severity. Instead of “all criticals in 30 days” — which treats a reachable, exploited, internet-facing CVE the same as an unreachable one — set timelines against the exploitability tiers. For example: confirmed-exploited-and-exposed within days, high-likelihood-and-running within a sprint, long-tail during routine maintenance. The SLA then reflects actual risk, and teams are not forced to rush fixes that do not matter while a genuinely dangerous one waits its turn.
  • Assign ownership at the top of the queue, not across the whole backlog. The reason flat CVE lists stall is that nobody owns 800 findings. A short, ranked queue of genuinely exploitable paths is assignable — a specific team owns the specific fix that collapses a specific path. Ownership becomes tractable precisely because context has shrunk the list.
  • Make “accept risk” explicit and auditable. Some findings will be legitimately accepted — a known false positive, a compensating control, a planned decommission. That decision should be recorded with a reason and, ideally, a review date, so the exception is a documented choice rather than a finding that quietly fell off the list. Auditors expect this trail, and it keeps the queue honest.

Watch the inputs change over time

Prioritization is not static because its inputs are not static. A CVE can be added to the CISA KEV catalog months after it was disclosed — the day that happens, a finding you had reasonably deprioritized should jump the queue. A workload’s exposure can change on the next deployment — a service that was internal yesterday may be behind a public load balancer today. And a new release can introduce a reachable call path to a dependency function that was previously dead code. A prioritization process that recomputes continuously catches these shifts; a quarterly spreadsheet does not. This is the single biggest advantage of computing priority on a live platform rather than in a static report.

Common prioritization mistakes to avoid

  • Treating “critical” as a work queue. The word is an inherent-severity label, not a statement about your environment. A queue sorted purely by it is a queue sorted by worst-case hypotheticals.
  • Chasing finding count instead of risk. “We closed 400 findings this quarter” is not progress if the 3 that mattered were not among them. Measure whether exploitable paths went down, not whether the raw number did.
  • Ignoring reachability for dependencies. If you are not filtering out unreachable transitive CVEs, you are spending real engineering time on code that never executes.
  • Prioritizing without blast radius. Two identical CVEs on two very different workloads are not the same ticket. Letting the target’s value break ties is what keeps the top of the queue honest.
  • One-time triage. Exposure and exploit likelihood both change over time — a CVE can get added to KEV months after disclosure, and a workload’s exposure can change on the next deploy. Prioritization has to be continuous, not a quarterly spreadsheet.

How Cloudanix prioritizes CVEs for you

Cloudanix Code Security is designed so that a CVE arrives already contextualized, rather than as a raw severity number you have to interpret.

  • Rich vulnerability intelligence, not NVD-only. Dependency findings are matched against a 28-feed vulnerability database and enriched with CISA KEV and EPSS, so likelihood is built into the finding from the start — you are not hand-overlaying exploit data after the fact.
  • Context from the runtime side. Because code and cloud sit on one asset graph, a finding is weighed against where it actually runs, whether that workload is exposed, and what its identity can reach — a mix of runtime context and prioritization signals rather than rule class alone. The mechanics are in how code-to-cloud correlation works.
  • One prioritized queue. Instead of separate code and cloud backlogs each sorted by their own scores, AppSec and cloud teams work from a single ranked list of what is actually exploitable, so the few CVEs that matter rise to the top on their own.
  • Actionable remediation. Each finding carries fix guidance — which version to upgrade to and whether it is breaking for dependencies — with selective AI-generated fixes for safe cases, so prioritization leads directly into closure rather than more research.

To see your own CVE backlog re-ranked by exploitability instead of raw severity, book a free assessment or explore the interactive demo on the Code Security page.


People Also Read

What Our Users Are Saying

Customer Reviews

Cloudanix is trusted by security leaders worldwide to deliver proactive, reliable, and cutting-edge cloud security.

One day, I changed the password of a root account, and my CTO called me within less than a minute to confirm if I did so. I was not expecting a reaction this quick. He told me Cloudanix alerted him of this password change and that he wanted to confirm as it was a critical security notification. I couldn't believe it!

Ritesh Agarwal
Ritesh Agarwal
CEO, Airgap Networks

Compliance is one way of staying secure, but what I want is the ability to go deeper and attain 'true security.' Cloudanix provides us the capability to do so.

Vishal Madan
Vishal Madan
Head of Engineering, iMocha

Cloudanix is building for the future of the cloud, which makes the product all the more desirable.

Ritesh Agarwal
Ritesh Agarwal
CEO, Airgap Networks

Cloudanix gave us the visibility we were missing. Being able to move from permanent access to a robust Just-In-Time (JIT) workflow has fundamentally changed our security posture without slowing down our engineering velocity.

Pavan Kumar Lekkala
Pavan Kumar Lekkala
SRE Lead, HugoHub

We are excited to leverage Cloudanix's comprehensive multi-cloud DevSecOps solution to secure our production workloads on AWS. Cloudanix has demonstrated that it can solve many challenges that DevSecOps teams face while continually adding new features such as SOC2 compliance and drift detection.

Satish Mohan
Satish Mohan
Co-founder & CTO, Airgap Networks

Managing third-party partner access was once a major concern for our security posture. With Cloudanix JIT Cloud, we've effectively achieved zero third-party risk. We can now grant access confidently, knowing that it is temporary, audited, and automatically revoked, resulting in a 100% reduction in our privileged access exposure.

Okesh Badhiye
Okesh Badhiye
Head of Technical Engineering, Finfinity

The snooze feature and responsible alerts have helped us save time and prioritize what to tackle first.

Satish Mohan
Satish Mohan
Co-founder & CTO, Airgap Networks

Implementing Cloudanix JIT internally allowed us to practice what we preach. By eliminating permanent access to our own clouds and databases, we've neutralized the risk of standing privileges, ensuring our own 'keys to the kingdom' are never left exposed.

Girish Manghnani
Girish Manghnani
Managing Partner, Tech Inspira

The problem with permissions is a lot of times, the gaps are left open due to oversights from inside the organization itself. With Cloudanix's CIEM, we get a complete view of user permissions and access. This enables us to update the permissions, reducing the attack surface.

Nilesh Pethani
Nilesh Pethani
Application Architect, iMocha

In the world of Fintech, trust is our currency. Cloudanix provided the frictionless visibility we needed to secure our EKS workloads across AWS, ensuring we stay audit-ready for SOC2 and GDPR without slowing down our engineering velocity.

Amol Naik
Amol Naik
Head of Security & Infrastructure, HugoHub

Cloudanix delivered value within 5 minutes of onboarding. Continuous monitoring, timely detection, and excellent documentation helped us attain a great cloud security posture.

Divyanshu Shukla
Senior DevSecOps, Meesho

Technology strategies and business strategies are in a state of constant change which includes centralization and decentralization of responsibilities. Regardless of strategic shift, we still have intellectual property to protect. Cloudanix are critical partners for us in our public cloud security posture across our three cloud providers.

Jerry Locke
Jerry Locke
Senior Director Global Solutions Engineering, Eversana

Cloudanix has been amazing. They opened up a common Slack channel with us — and it feels like we are talking to our own team and getting things done with Cloud security. The support team is always available, friendly, helpful, and ready to go out of their way.

Satish Mohan
Satish Mohan
CTO, Airgap Networks

Beyond just access management, Cloudanix CSPM has given us a unified view of our AWS environment. The real-time alerting and anomaly detection allow us to prevent any untoward activity before it happens, which is critical for a marketplace connecting 50+ financial institutions.

Okesh Badhiye
Okesh Badhiye
Head of Technical Engineering, Finfinity

For a Fintech company, data is our most valuable — and most sensitive — asset. Cloudanix DAM hasn't just improved our visibility; it has given us control. The ability to mask data and prevent unauthorized queries in real-time is a game-changer for our compliance and customer trust.

Jiten Gala
Jiten Gala
President Engineering and Product, Kapittx

Our clients, especially in the Middle East financial sector, demand absolute accountability. Cloudanix JIT Cloud has been a competitive differentiator for us, allowing us to provide secure, governed access to customer accounts that meet their strictest audit and compliance requirements.

Girish Manghnani
Girish Manghnani
Managing Partner, Tech Inspira

Cloudanix is always on my team's lips because of its exceptional support. Be it a small or big query, Cloudanix has gone above and beyond to resolve them. This one's a keeper for us.

Sujit Karpe
Sujit Karpe
CTO, iMocha

For a long-lasting partnership, great support goes a long way. Cloudanix has delivered exceptional support whenever required. Their edge is their team is always ready to go beyond to solve any issues that we have. This speaks volumes about the culture at Cloudanix.

Akash Maheshwari
Akash Maheshwari
Co-founder, MoveInSync

Beyond the technology, Cloudanix feels like an extension of our own team. Their willingness to stand up a dedicated Middle East tenant for us and provide exceptional support at a sensible price makes them a long-term partner for Hugosave.

Surya Tamada
Surya Tamada
CTO, HugoHub

The real-time notifications that Cloudanix provides are a real lifesaver. Their adaptive notifications ensure that my team stays productive and doesn't get interrupted all the time.

Digvijay Singh
Staff Security Engineer, Meesho

The whole point in technological evolution is to help improve the world we live in. We must protect that and to do so requires an effective and efficient security strategy. The Cloudanix team helped make our public cloud security posture management strategy a reality. The symbiotic relationship we have allows for a continuous feedback loop which is how business should operate.

Larry Wheat
Larry Wheat
Staff Solutions Engineer, Eversana

Ready to see your graph?

Connect a cloud account in under 30 minutes. See every finding rooted in identity, asset, and blast radius — with a fix path attached.

Book a Demo