Join our Newsletter — 33% off our NHI Course
Home FAQ Cyber Security Why do severity scores alone fail to capture…
Cyber Security

Why do severity scores alone fail to capture real risk for vulnerable open-source components?

← Back to all FAQ
By NHI Mgmt Group Editorial Team Updated September 7, 2026 Domain: Cyber Security

Severity scores are useful starting points, but they do not account for how a library is used inside a specific application. A component may be present but dormant, confined to test code, or shielded by limited exposure. Real prioritisation requires code, runtime, deployment, and business context to estimate likelihood and impact accurately.

Why a Score Is Not the Same as Exposure

Severity scores are designed to compare vulnerabilities in the abstract, not to answer whether a specific application is actually exposed. A high score can sit in code that is never executed, behind compensating controls, or isolated from reachable attack paths, while a lower-scored issue may be far more relevant if it affects an internet-facing service or a privileged workflow. That is why prioritisation has to move from score to context.

For open-source components, the useful questions are not only “how bad is the flaw?” but also “where is the component deployed?”, “what can it reach?”, and “what happens if it fails?”. The NIST Cybersecurity Framework 2.0 is relevant here because it pushes teams toward risk-based governance and exposure-aware decision-making rather than treating vulnerability severity as a complete answer. In practice, many security teams discover the real priority only after they connect a scored vulnerability to runtime reachability, deployment scope, and business criticality.

How Open-Source Component Risk Becomes Real

A vulnerable component becomes meaningful risk only when its technical placement and operational role create a credible path to impact. The same library can be harmless in one context and urgent in another. If it is bundled but not invoked, present only in build tooling, or shielded by network and privilege boundaries, the actual risk may be low even if the vulnerability itself looks severe. If it sits in a hot path, processes untrusted input, or has access to secrets, the risk rises sharply.

That is why mature triage looks at several layers at once:

  • Code usage: whether the vulnerable function or path is actually called.

  • Runtime exposure: whether the component is reachable from users, external systems, or adversaries.

  • Deployment context: whether the component is in production, staging, or test-only environments.

  • Privilege and data access: whether compromise would expose secrets, sensitive data, or privileged actions.

  • Business criticality: whether the affected service supports revenue, safety, regulated operations, or trust.

This is also where teams often misread severity scores as deadlines. A score can indicate that a flaw is technically serious, but it does not distinguish between an edge case that is difficult to exploit and a directly exposed dependency that can be abused immediately. The right response is to enrich the score with reachability, exploitability, and asset importance, then decide whether the issue belongs in immediate remediation, planned maintenance, or monitored acceptance. The guidance breaks down when teams cannot reliably map component inventory to running services or cannot tell which code paths are actually live.

Why Context Changes Triage Outcomes

Stronger severity often increases urgency, but organisations still have to balance that against whether the issue is practically reachable and materially consequential. A component embedded in a non-production branch or an internal utility may deserve tracking, yet it should not displace a lower-scored issue that is exposed in a customer-facing service with sensitive data access.

The main edge cases are lifecycle and environment driven. Vulnerabilities in dormant code may remain irrelevant until a feature is enabled. Shared libraries can be embedded in multiple services, so one flawed component may have different risk profiles across different deployments. Patchability also matters: sometimes the fastest safe response is upgrading immediately, but sometimes the correct decision is to isolate, disable, or restrict use before changing the dependency. That is a governance choice, not just a vulnerability management one.

There is no universal consensus that severity scores should be ignored; the better view is that they are a starting signal. For open-source components, the score should be joined to inventory accuracy, exposure analysis, and service criticality before the team sets priority. If those inputs are missing, the organisation is making decisions on a proxy rather than on risk.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

NIST CSF 2.0 and CIS Controls v8 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
NIST CSF 2.0ID.RA-1 — Asset Vulnerabilities Are Identified and ManagedOpen-source component risk depends on knowing where vulnerable assets exist.
ID.RA-5 — Threats, Vulnerabilities, Likelihoods, and Impacts Are Used to Inform Risk ResponseSeverity scores need likelihood and impact context to become risk decisions.
GV.RM-01 — Risk Management StrategyThe question is fundamentally about risk-based prioritisation over raw severity.
Recommendation — Map vulnerable components to live assets and track their exposure in context. Combine severity with likelihood and impact before setting remediation priority. Set remediation priorities using business risk, not severity alone.
CIS Controls v87 — Continuous Vulnerability ManagementComponent severity must feed an ongoing triage and remediation process.
18 — Penetration TestingReachability and exploitability need validation beyond abstract scoring.
Recommendation — Use continuous vulnerability management to rank issues by real operational exposure. Validate whether vulnerable paths are actually exploitable in the deployed environment.

Practitioner Guidance

What to prioritise: Start with components that are both vulnerable and reachable in production, especially where the component can influence authentication, secrets, or sensitive data handling. A high score in an unreachable path is still worth tracking, but it should not outrank a lower-score issue that sits in the live attack surface.

What to verify: Confirm whether the vulnerable code path is actually exercised, whether the component is in a shipped build or only in test tooling, and whether compensating controls meaningfully reduce exposure. Security teams should be able to show evidence of deployment location, runtime usage, and business impact before treating severity as a remediation decision.

Common mistake: Treating the score as a patch order without checking reachability and context. That shortcut often creates noisy backlogs, while the real risk hides in a smaller set of exposed, high-value dependencies.

Practitioner takeaway: Severity scores help rank flaws, but they do not by themselves describe exposure, exploitability, or consequence, which is why the best triage decisions are contextual rather than purely numerical.

Deepen Your Knowledge

Sign up to our weekly newsletter — get 33% off our NHI Foundation Level Course

    NHIMG Editorial Note
    Reviewed and updated by the NHIMG editorial team on September 7, 2026.
    NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org