github.com/charmbracelet/soft-serve · charmbracelet/soft-serve: Race
Affects github.com/charmbracelet/soft-serveSource GCVE Database
CVSS 5.9 Medium : upgrade to 0.12.3 when convenient.
Data as of 30 Oct 2026, 18:05 UTC
- Patch
- Available – fixed in 0.12.3
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NWhat to do
Upgrade github.com/charmbracelet/soft-serve to 0.12.3.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Gogithub.com/charmbracelet/soft-serve | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A patch is available in version 0.12.3 that removes the repository cache and ensures access checks always read the current visibility from the database. Operators should upgrade to this version to fully resolve the issue. Restarting the server clears stale cache entries temporarily but does not prevent recurrence on visibility changes. As a temporary workaround, operators unable to upgrade immediately should create repositories as private from the start and avoid changing visibility while the server is running.
Description
A race condition in charmbracelet/soft-serve's SetPrivate function causes a private repository to remain readable by unauthenticated users until the server restarts. The issue arises because the repository visibility cache is cleared before the database commit, allowing a stale public record to be cached and used for access checks after the repository is made private. This stale cache persists until eviction or server restart, enabling continued unauthorized read access over HTTP, SSH, and git protocols. The flaw affects versions 0.6.0 through 0.12.2 and is fixed in version 0.12.3.
References
- github.com/charmbracelet/soft-serve/security/advisories/GHSA-f3fj-9625-rv3m (opens in a new tab)
- github.com/charmbracelet/soft-serve/commit/0a4e6f0b7e063927c7128756e1c1b3db871edabf (opens in a new tab)
- github.com/charmbracelet/soft-serve/commit/5b307b4da4db285f797cc028b381ba4d3d853019 (opens in a new tab)
- github.com/charmbracelet/soft-serve/commit/e398b4dde723437f637b06710e0938d349b360e8 (opens in a new tab)
- github.com/charmbracelet/soft-serve (opens in a new tab)
- github.com/charmbracelet/soft-serve/releases/tag/v0.12.3 (opens in a new tab)