CVE-2025-64522
📋 TL;DR
Soft Serve versions before 0.11.1 have a server-side request forgery (SSRF) vulnerability where repository administrators can create webhooks that target internal services, private networks, and cloud metadata endpoints without proper URL validation. This allows attackers to probe internal infrastructure and potentially access sensitive data. All instances running vulnerable versions are affected.
💻 Affected Systems
- Soft Serve
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could access cloud metadata endpoints to obtain credentials, pivot to internal services, exfiltrate sensitive data, or perform lateral movement within the network.
Likely Case
Repository administrators could probe internal services, access internal APIs, or retrieve cloud metadata containing temporary credentials.
If Mitigated
With proper network segmentation and egress filtering, impact would be limited to internal service discovery and potential denial of service.
🎯 Exploit Status
Exploitation requires repository administrator access. SSRF attacks are well-documented and easy to weaponize once access is obtained.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.11.1
Vendor Advisory: https://github.com/charmbracelet/soft-serve/security/advisories/GHSA-vwq2-jx9q-9h9f
Restart Required: Yes
Instructions:
1. Stop the Soft Serve service. 2. Update to version 0.11.1 or later. 3. Restart the service. 4. Verify the update was successful.
🔧 Temporary Workarounds
Disable webhook functionality
allTemporarily disable webhook creation and execution until patching is possible
# Modify Soft Serve configuration to disable webhooks
# Check documentation for specific configuration options
Network egress filtering
linuxImplement firewall rules to restrict outbound connections from Soft Serve instances
# Example iptables rule to block internal network access
iptables -A OUTPUT -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -d 172.16.0.0/12 -j DROP
iptables -A OUTPUT -d 192.168.0.0/16 -j DROP
🧯 If You Can't Patch
- Implement strict network segmentation to isolate Soft Serve instances from sensitive internal networks
- Review and audit all existing webhook configurations for suspicious URLs targeting internal services
🔍 How to Verify
Check if Vulnerable:
Check Soft Serve version. If version is less than 0.11.1, the instance is vulnerable.
Check Version:
soft-serve --version
Verify Fix Applied:
Verify the version is 0.11.1 or later and test webhook creation with internal URLs to ensure they are rejected.
📡 Detection & Monitoring
Log Indicators:
- Webhook creation events with unusual URLs
- Outbound HTTP requests from Soft Serve to internal IP ranges
- Failed webhook delivery attempts to internal addresses
Network Indicators:
- HTTP requests from Soft Serve instances to internal services or cloud metadata endpoints
- Unusual outbound traffic patterns from Git servers
SIEM Query:
source="soft-serve" AND (url="169.254.169.254" OR url="metadata.google.internal" OR url CONTAINS "10." OR url CONTAINS "172." OR url CONTAINS "192.168.")
🔗 References
- https://github.com/charmbracelet/soft-serve/commit/bb73b9a0eea0d902da4811420535842a4f9aae3b
- https://github.com/charmbracelet/soft-serve/releases/tag/v0.11.1
- https://github.com/charmbracelet/soft-serve/security/advisories/GHSA-vwq2-jx9q-9h9f
- https://github.com/charmbracelet/soft-serve/security/advisories/GHSA-vwq2-jx9q-9h9f