Vulnerabilities

Security fix · GHSA-fgxm-5hvv-x4vh

charmbracelet/soft-serve HTTP responses disclose the existence and names of private repositories

Published Oct 30, 2026 · catalog updated Oct 30, 2026 · charmbracelet/soft-serve HTTP responses disclose

Last checked Nov 4, 2026. A connected source was read within the last 7 days.

Open the advisory

Exploitation likelihood is not on this record for GHSA-fgxm-5hvv-x4vh. A missing EPSS score is not a low risk. Compare charmbracelet/soft-serve HTTP responses disclose with the linked advisory before you change production.

Gaps on this record

  • The stored product name is a package slug. The name on this page is taken from the title (charmbracelet/soft-serve HTTP responses disclose).
  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
  • EPSS is missing. A missing score is not a low risk.
Severity
Medium5.3
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
Awaiting synchronization with FIRST
Remediation
Advisory link
Affected products
Go github.com/charmbracelet/soft-serve

## Summary Soft Serve answers Go's requests by walking up the requested path until it finds a repository, then rendering that repository's name and clone URL into a meta tag. The walk checked that each candidate repository existed, but never that the caller could read it. A request for a path inside a private repository, such as , therefore returned naming and its clone URL, even though correctly returned . The same exception in the HTTP access middleware also let requests reach the LFS and dumb-HTTP routes with the repository existence check skipped, where two LFS handlers dereferenced the missing repository and panicked. The same disclosure appears without . The Git and LFS routes answered a repository the caller could not read differently depending on whether it existed: an anonymous clone of a private repository got while a missing one got , and a signed-in user without access got the reverse pattern. Either way, one request confirms whether a guessed name is a private repository. This was found while fixing the go-get issue and is included here because it has the same impact and is fixed in the same release. ## Impact A remote client can learn, with one request per candidate name, which private repositories exist, their exact names, and their clone URLs. Under the shipped default of no account is needed, and an authenticated user without access to the repository gets the same answer. Project names in private deployments are often sensitive (internal codenames, unreleased products, customer names), and this turns them into an enumerable namespace. The Git and LFS routes give the same confirmation for any guessed name, to anonymous and authenticated callers alike, and an invalid header does the same even where credentials are otherwise required. Repository contents, refs, commits, and collaborators are not exposed, and no write path is reachable. The LFS panic is caught by the recovery middleware and returns a ; the server stays up. Hidden repositories are not af

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • Go github.com/charmbracelet/soft-serve0.5.0 → 0.12.3

How to fix GHSA-fgxm-5hvv-x4vh

  • Upgrade

    GHSA-fgxm-5hvv-x4vh lists a fix boundary at 0.12.3. Compare the installed build with that boundary before you change production.

  • Version check

    Seen in 0.5.0 → 0.12.3

  • Official advisories

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

Exploitation likelihood is not on this record for GHSA-fgxm-5hvv-x4vh. A missing EPSS score is not a low risk. Compare charmbracelet/soft-serve HTTP responses disclose with the linked advisory before you change production.

Which versions are affected?

Compare what you have installed with 0.5.0 → 0.12.3. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

CWE-203: Observable Discrepancy; CWE-425: Direct Request (Forced Browsing); CWE-863: Incorrect Authorization. EPSS is not on this record yet. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 30, 2026 · Go Vulnerability Database

    Detected

    ## Summary Soft Serve answers Go's requests by walking up the requested path until it finds a repository, then rendering that repository's name and clone URL into a meta tag. The walk checked that each candidate repository existed, but never that the caller could read it. A request for a path inside a private repository, such as , therefore returned naming and its clone URL, even though correctly

  2. Oct 30, 2026 · Go Vulnerability Database

    Fix available

    github.com/charmbracelet/soft-serve fixed in 0.12.3

  3. Oct 30, 2026 · Go Vulnerability Database

    Fix available

    github.com/charmbracelet/soft-serve fixed in 0.12.3

  4. Oct 30, 2026 · Go Vulnerability Database

    Updated

    ## Summary Soft Serve answers Go's requests by walking up the requested path until it finds a repository, then rendering that repository's name and clone URL into a meta tag. The walk checked that each candidate repository existed, but never that the caller could read it. A request for a path inside a private repository, such as , therefore returned naming and its clone URL, even though correctly

Sources

  • Go Vulnerability DatabasePackage advisoryGHSA-fgxm-5hvv-x4vh

    charmbracelet/soft-serve HTTP responses disclose the existence and names of private repositories

    osv.dev

References

Freshness

Last verified in this catalog Oct 30, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.

  • Go Vulnerability DatabaseNov 4, 2026