CVE-2026-102923: SparkyFitness: SSRF via unvalidated custom_url in AI service settings
SparkyFitness is a self-hosted, AI-powered health and fitness tracker for families. Prior to 1.6.0, SparkyFitnessServer/services/chatService.ts and SparkyFitnessServer/services/labelScanService.ts do not validate destinations supplied in custom AI service settings. An authenticated user saves a custom AI service URL and invokes an affected AI flow. The user can save a custom AI service URL and trigger an outbound request. Successful exploitation can send server-side POST requests with a controlled bearer value, probe internal services, and disclose the AI system prompt. This issue is fixed in version 1.6.0.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
SparkyFitnessto a version that resolves this vulnerability.Fixed in 1.6.0
Event History
Frequently Asked Questions
Who can exploit this issue?
An authenticated SparkyFitness user who can save custom AI service settings can exploit it. No additional user interaction is required after the attacker invokes an affected AI flow.
What can an attacker do with a successful exploit?
The attacker can cause the server to make POST requests to attacker-controlled destinations, including internal services. Those requests can include a controlled bearer value, and exploitation may disclose the AI system prompt.
Which deployments are affected?
Deployments running versions before 1.6.0 are affected where users can save custom AI service URLs and invoke the affected chat or label-scanning AI flows. Version 1.6.0 contains the fix.