Safeguard
Security Guides•

Which versions should you patch after a vulnerability report?

Deciding which release lines get a security fix: map affected versions, check your support policy, backport the smallest change, and state fixed versions.

Safeguard Security Team
3 min read

Patch every release line your support policy says is supported, and the current line first. Map the first and last affected versions during validation, backport the smallest safe change, and state in the advisory which versions are fixed and which are not. Say plainly if an old line will not get a patch.

Start with the version map

During validation, find the first release that contains the flaw and the last that does. Check by testing, not by reading the changelog. If the code was refactored, the flaw may have appeared in a later release than you think, or existed in a different form earlier.

Release lineAffected?Supported?Decision
5.x (current)YesYesPatch
4.xYesYes, security fixesBackport
3.xYesNoAdvise upgrade
2.xNot testedNoTest or state unknown

Decide using your support policy

If you have a written support policy, apply it without exceptions you would not explain publicly. If you do not have one, this is a good moment to write it: which lines get security fixes, and for how long. Customers on an unsupported line deserve clear advice, not silence.

Backport carefully

  • Keep each backport to the minimum change.
  • Test on the older line with its own dependencies, not just on the current one.
  • Resist adding features to a security release.
  • Use the same advisory for all lines, listing each fixed version.

If you use GitHub security advisories, the documentation says to add a fix version before publishing. Without it, Dependabot alerts users without suggesting a safe version. It also notes that if no fix is planned, the advisory should say so and ideally include mitigation steps.

State the facts in the advisory

List:

  • Affected version ranges.
  • Fixed versions for each supported line.
  • That unsupported lines are affected and not patched, if true.
  • Any workaround for people who cannot upgrade.

Do not write "all versions" unless you tested them. Do not write "no impact on older versions" unless you checked.

Limits and risks

Backporting costs time and creates its own risk, since each line has a different codebase. For a small team that is a reason to keep supported lines few. It is also a reason to make upgrading easy, so that customers are on the current line.

Try it yourself

The fix available now demo shows how a fixed version becomes visible to people who consume your software. Click through it to see why the version fields in your advisory matter to them.

Click through it at your own pace, or open it full screen.

Quick check

What if a customer is stuck on an unsupported line?

Tell them clearly that no patch is planned and give any mitigation. Be honest about the limits of what you can offer.

Do we need separate advisories per line?

Usually one advisory with several fixed versions is clearer.

Safeguard's SBOM and dependency scanning help your customers and you see which version of a component is deployed where. The free scan is 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.