Safeguard
Security Guides•

A security fix only exists in a new major version: backport or jump?

When a fix ships only in a new major release, you can jump, backport or mitigate. Here is how to decide using reachability, support status and effort.

Safeguard Security Team
4 min read

When a security fix exists only in a new major version, check three things first: whether the vulnerable code is reachable in your app, whether your current line is still supported, and how big the migration is. Jump if the line is unsupported, backport or mitigate if you need time and the risk is real.

Why this happens

Projects often fix security issues on the supported lines. Support policies say which those are. Spring Boot's page says it supports major versions for at least three years if you run a supported minor. Rails says security fixes cover two years per minor series. Go supports its two newest majors. If your line is outside those windows, a fix may exist only in a newer release.

The decision

QuestionIf yesIf no
Is your current line still supported?Wait for a fix on your line, or ask the maintainersA jump is the default
Is the vulnerable code reachable?Treat as urgentSchedule normally, document
Is a compatible patch release available?Take itConsider options below
Is the migration small?JumpConsider interim controls
Is there a safe mitigation?Apply it while migratingEscalate the migration

Reachability changes everything. A critical advisory in a function your code never calls is a different problem from one in your request parser.

Options in order of preference

  1. Take a patch or minor release on your line. Check the supported versions page first. Many projects do backport.
  2. Jump to the fixed major. Plan it as a proper upgrade with gates, not an emergency edit. If you are several majors behind and the tool supports it, go one major at a time.
  3. Backport the fix yourself. Only with a clear patch from the maintainers and a person who understands the code. You then own that fork, and every future fix.
  4. Mitigate. Disable the feature, add a validation layer, restrict network access, or set a configuration flag the advisory describes. Record the mitigation and an expiry.
  5. Accept the risk temporarily. Write down the owner, the reason and a review date.

Backporting has hidden costs

A private backport must be rebuilt, tested and maintained. You also lose the ability to take the project's later patches cleanly. Many teams underestimate that and end up on a fork that is worse than the original problem. Use it as a bridge with a date, not a destination.

Record the decision

For each case, store: advisory ID, affected component, reachability result, chosen option, owner, date and next review. If you issue VEX statements, a not affected or fixed status should match the evidence you have. This is also what an auditor or a customer asks for later.

Try it yourself

Click through it at your own pace, or open it full screen. Look at how reachability separates findings you must act on from ones you can schedule.

Quick check

Should I always jump to the fixed major?

Not always. If the code is unreachable and your line is supported, scheduling the move can be reasonable. If your line is unsupported, jumping is the default.

Is a private backport a good long-term plan?

No. It makes you the maintainer. Use it as a short bridge with an end date.

Safeguard's reachability analysis shows whether a vulnerable function is called in your code, and its fix pull requests, which are off by default, can propose the upgrade for review. Try the free scan at gold.safeguard.sh/scan.

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.