Soft Serve is a self-hostable Git server for the command line. From version 0.6.0 to before version 0.11.4, an authenticated SSH user can force the server to make HTTP requests to internal/private IP addresses by running repo import with a crafted --lfs-endpoint URL. The initial batch request is blind (the response from a metadata endpoint won't parse as valid LFS JSON), but an attacker hosting a fake LFS server can chain this into full read access to internal services by returning download URLs that point at internal targets. This issue has been patched in version 0.11.4.
An attacker uses the repository import command with a properly crafted --lfs-endpoint parameter pointing to a fake LFS server controlled by them. In the first step, the Soft Serve server sends a blind batch request to the provided endpoint (the response is not parsed as valid LFS JSON). Next, the fake LFS server returns a response containing download URLs pointing to internal network resources, and Soft Serve makes subsequent HTTP requests to these internal targets. This way, the attacker gains full read access to responses from internal services.
An attacker can gain read access to data from internal services and network resources not accessible from the outside (e.g., cloud metadata, internal APIs, databases). The vulnerability also enables disclosure of sensitive information from the server's hosting infrastructure.
Soft Serve should be updated to version 0.11.4, in which the vulnerability has been patched. The patch is available in the official GitHub repository of the charmbracelet/soft-serve project.
Soft Serve (Charm) in versions 0.6.0 through 0.11.3 inclusive. An SSH account with server access is required.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:LCharm Soft Serve
APPCharm0.6.0 – 0.11.4 (excl.)
Related vulnerabilities
SSRF w Soft Serve — webhooks bez walidacji URL umożliwiają dostęp do sieci wewnętrznej
Soft Serve is a self-hostable Git server for the command line. From version 0.6.0 to before version 0.11.6, an...
Soft Serve is a self-hostable Git server for the command line. Versions 0.11.2 and below have a critical authe...
Soft Serve is a self-hostable Git server for the command line. Prior to version 0.6.2, a security vulnerabilit...
Soft Serve to samodzielnie hostowany serwer Git dla linii poleceń. Przed wersją 0.11.2 błąd autoryzacji w endp...