Safeguard
Security Guides•

What do advisory IDs like CVE, GHSA, USN and DSA mean?

CVE, GHSA, USN and DSA identify different things: a vulnerability, a GitHub advisory, an Ubuntu notice and a Debian advisory. Learn which to track and why.

Safeguard Security Team
4 min read

CVE identifies a vulnerability. GHSA identifies an advisory in the GitHub Advisory Database. USN is an Ubuntu Security Notice and DSA is a Debian Security Advisory, each naming the fix for that distribution. One vulnerability can carry several IDs, so track the CVE and keep the others as links.

The IDs, side by side

IDWho issues itWhat it identifies
CVEA CVE Numbering AuthorityA publicly known vulnerability
GHSAGitHubAn advisory in the GitHub Advisory Database
USNUbuntu Security teamA notice that a security issue was fixed in an official Ubuntu package
DSADebian security teamAn advisory for a fix in Debian, with the fixed package versions

CISA describes a CVE ID as a unique, common identifier for a publicly known cybersecurity vulnerability. GitHub says each security advisory has a unique GHSA ID. Ubuntu issues a USN when a security issue is fixed in an official package, and Debian publishes a DSA for issues it considers serious.

The OSV feed adds more prefixes. Reading its recent changes, you will see IDs that are not CVEs at all, such as ones for Python or for malicious packages. Treat the ID as a label in a source, and use the aliases field to find related IDs.

One flaw, several records

Take an open source library flaw. A CNA assigns a CVE. GitHub publishes a GHSA that lists affected package versions in a machine-readable form. Debian and Ubuntu each publish their own notice naming the package version that contains their backported fix.

These records are about the same underlying problem but answer different questions:

  • The CVE says what the flaw is.
  • The GHSA says which package versions in a registry are affected and fixed.
  • The USN or DSA says which version to install on your distribution.

Pick the record that matches the thing you run. A container based on a Debian image takes its fix from the DSA, and an npm project takes it from the registry advisory.

Rules of thumb for your ticket system

  1. Use the CVE as the primary key when one exists.
  2. Store every other ID in a related-IDs field, so someone can paste any ID into a search and find the ticket.
  3. When there is no CVE, as with some ecosystem advisories, use the source ID and say so.
  4. Never close a ticket because one ID is fixed. Check the ID for each ecosystem you run.
  5. Record the fixed version in the vendor's own format, including suffixes.

Watch the revision suffixes

Notices carry revisions. In Ubuntu, a suffix such as dash 2 or dash 3 on the notice number indicates a further notice in the series, often for another variant or release. Debian does something similar: its recent list includes DSA-6567-1 for cifs-utils and a regression update numbered DSA-6567-2. Always read the newest notice in the series.

Try it yourself

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

Look at how each component can have several advisory references against it, and how they roll up to one finding.

Safeguard dependency scanning joins these records onto your SBOM so a team sees one finding. A free scan is a quick way to look.

Quick check

Is a GHSA the same as a CVE?

No. A GHSA is a GitHub advisory ID. It often links to a CVE but is its own record.

Which ID should my ticket use?

Use the CVE as the primary key where one exists, and store the other IDs as related references.

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.