CVE-2026-54447
Description
garminconnect is a Python 3 API wrapper for Garmin Connect that retrieves statistics and manages activities. Prior to 0.3.5, garminconnect/client.py Client.dump creates the OAuth token directory and garmin_tokens.json without explicit owner-only modes, so a permissive umask such as 022 can leave the directory mode at 0755 and the token file mode at 0644. garmin_tokens.json contains di_refresh_token, and another unprivileged user on a shared Linux or macOS host can read the token and obtain persistent access to the victim's Garmin Connect account, including health, fitness, activity, and device data. The Garmin.login tokenstore path is affected, and a pre-existing loosely permissioned token file remains exposed until rewritten or manually restricted. This issue is fixed in version 0.3.5.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
garminconnectPyPI | < 0.3.5 | 0.3.5 |
Affected products
1- Range: <0.3.5
Patches
Vulnerability mechanics
References
6- github.com/advisories/GHSA-wjhr-76vg-2hvcghsaADVISORY
- github.com/cyberjunky/python-garminconnect/commit/77a3837f1f79d486663c9646438e70e8319e1a48ghsaWEB
- github.com/cyberjunky/python-garminconnect/commit/f74174a5647e1af78eca1f8f3a0aa5dc5a899947ghsaWEB
- github.com/cyberjunky/python-garminconnect/releases/tag/0.3.5nvdWEB
- github.com/cyberjunky/python-garminconnect/security/advisories/GHSA-wjhr-76vg-2hvcnvdWEB
- github.com/cyberjunky/python-garminconnect/commit/8256b577190b446e279c81b845d8e27d0ea1fbf5nvd
News mentions
0No linked articles in our index yet.