CVE-2023-23304
📋 TL;DR
This vulnerability in Garmin's Connect IQ platform allows malicious applications to access sensor history data without user permission. It affects Garmin devices running CIQ API versions 2.1.0 through 4.1.7, potentially exposing sensitive health and activity information stored in sensor history.
💻 Affected Systems
- Garmin smartwatches, fitness trackers, and other devices running Connect IQ apps
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Malicious app collects comprehensive sensor history including heart rate, GPS locations, activity patterns, and other biometric data, enabling detailed user profiling and privacy violations.
Likely Case
Malware disguised as legitimate fitness app harvests sensor data for targeted advertising, data resale, or unauthorized monitoring of user activities.
If Mitigated
Limited data exposure if users only install trusted apps from official store and device has minimal sensor history stored.
🎯 Exploit Status
Exploitation requires user to install a malicious Connect IQ app. The vulnerability bypasses permission checks rather than requiring authentication.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: CIQ API 4.1.8 and later
Vendor Advisory: https://developer.garmin.com/connect-iq/api-docs/Toybox/SensorHistory.html
Restart Required: Yes
Instructions:
1. Update Garmin device firmware through Garmin Express or Garmin Connect mobile app. 2. Ensure device restarts after update. 3. Verify CIQ API version is 4.1.8 or higher in device settings.
🔧 Temporary Workarounds
Restrict app installations
allOnly install Connect IQ apps from trusted sources and official Garmin store
Disable unnecessary sensors
allTurn off sensors not actively needed to limit available data
🧯 If You Can't Patch
- Uninstall all third-party Connect IQ apps until device can be updated
- Factory reset device and avoid installing any Connect IQ apps
🔍 How to Verify
Check if Vulnerable:
Check CIQ API version in device settings: Settings > System > About > CIQ API Version. If version is between 2.1.0 and 4.1.7 inclusive, device is vulnerable.
Check Version:
No CLI command - check via device settings menu
Verify Fix Applied:
Confirm CIQ API version is 4.1.8 or higher after update. Test with legitimate app requiring SensorHistory permissions to ensure proper permission prompts appear.
📡 Detection & Monitoring
Log Indicators:
- Unusual SensorHistory API calls without corresponding permission grants in app logs
- Multiple apps accessing sensor data with similar patterns
Network Indicators:
- Unexpected data exfiltration from device containing sensor data patterns
SIEM Query:
Not applicable - primarily local device vulnerability
🔗 References
- https://developer.garmin.com/connect-iq/api-docs/Toybox/SensorHistory.html
- https://github.com/anvilsecure/garmin-ciq-app-research/blob/main/advisories/CVE-2023-23304.md
- https://developer.garmin.com/connect-iq/api-docs/Toybox/SensorHistory.html
- https://github.com/anvilsecure/garmin-ciq-app-research/blob/main/advisories/CVE-2023-23304.md