Safeguard
Security Guides•

What does 'fixed in' mean in an SCA report?

The 'fixed in' value is the first package version that contains the patch. Here is how to read it, check your constraints and handle missing fix versions.

Safeguard Security Team
3 min read

"Fixed in" is the first release of a package that contains the patch for a vulnerability. Any version at or above it, on the same release line, is generally unaffected. It does not mean the upgrade is safe for your build, and it does not tell you whether a fix exists on the line you use.

Where the value comes from

Most vulnerability databases record affected versions as ranges. The OSV schema, an open format used by several databases, describes a range as a timeline of events: an introduced version, then a fixed version. The specification says a fixed event precisely identifies the version that contains the fix, and strongly recommends it over the alternative field, last_affected, which is only a hard ceiling when no fixed version is known.

So when your report says "fixed in 2.4.9," the database is saying versions from the introduced point up to but not including 2.4.9 are affected.

Four things to check before you upgrade

  1. Is your current version below the fix? Compare the exact version in your lockfile, not the range in your manifest.
  2. Is it a patch, minor or major jump? A move from 2.4.1 to 2.4.9 is usually small. A move to 3.0.0 may break callers.
  3. Is there a fix on your release line? Some projects backport fixes to older lines. Others do not, and the only fixed version is a new major.
  4. Does the parent allow it? If the vulnerable package is indirect, your direct dependency may pin a range that excludes the fixed version.

What the npm tooling does with this

The npm documentation explains that npm audit fix applies remediations that do not require changes to dependency ranges, and that fixes needing a major version change need the force option. It also warns that some vulnerabilities cannot be fixed automatically and need manual review. The same logic applies whatever tool you use: a compatible fix is cheap, a breaking fix is a planned change.

SituationWhat it usually meansTypical action
Fixed in a patch versionLow risk upgradeUpgrade and run tests
Fixed in a new majorPossible breaking changePlan and test, or check for backports
No fixed version listedNo patch publishedSee the no-fix guide below
Fixed version excluded by a parentParent pins old rangeUpgrade the parent or override

If no fix is listed at all, read what to do when an SCA report shows no fix available.

Try it yourself

Click through it at your own pace, or open it full screen. Look for how the fixed version is shown next to the version you run.

Where Safeguard fits

Safeguard's autonomous remediation can open fix pull requests. It is off by default, and every category starts on Manual, so a person approves each change.

Quick check

Does "fixed in" mean upgrading is risk free?

No. It only says the patch exists in that version. Test the upgrade, especially across a major version.

Why is the fixed version not offered by my package manager?

A parent dependency may restrict the version range, so the fixed release falls outside what it allows.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.