🇰🇷 한글 설명
garminconnect 0.3.5 미만 버전에서 OAuth 토큰이 저장되는 디렉토리와 파일의 권한 설정이 부적절하게 생성되는 취약점이 발견되었습니다. 이로 인해 공유 시스템의 다른 사용자가 garmin_tokens.json 파일을 읽어 피해자의 Garmin Connect 계정에 대한 지속적인 접근 권한을 탈취할 수 있습니다.
💡 쉬운 설명
로그인 정보가 담긴 파일이 보안 설정 없이 생성되어, 같은 컴퓨터를 쓰는 다른 사람이 내 건강 및 활동 데이터를 몰래 볼 수 있는 문제입니다. 최신 버전으로 업데이트하면 이 문제가 해결됩니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
garminconnect Python library versions prior to 0.3.5
⚔️ 공격 벡터
공유 Linux 또는 macOS 호스트에서 권한이 낮은 다른 사용자가 노출된 garmin_tokens.json 파일을 읽음
🛡️ 대응 방법
garminconnect 라이브러리를 0.3.5 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.3.5 미만이면 취약한 상태입니다.
pip show garminconnect | grep Version
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux