🇰🇷 한글 설명
titra 오픈소스 시간 추적 프로젝트 0.99.52 버전에서 globalsettings Meteor publication이 관리자 또는 역할 검사 없이 모든 전역 설정을 반환합니다. 이로 인해 인증된 모든 사용자가 DDP를 통해 구독하여 google_secret, openai_apikey, google_clientid 같은 민감한 설정 값을 열람할 수 있습니다. 공개 시점 기준 사용 가능한 패치는 없습니다.
💡 쉬운 설명
로그인만 된 일반 사용자도 시스템의 비밀 설정값(API 키 등)을 볼 수 있는 문제입니다. 이 키들이 노출되면 다른 사람이 해당 서비스를 악용할 수 있습니다.
🇺🇸 원문 (English)
titra is an open source time tracking project. In version 0.99.52, the globalsettings Meteor publication returns all global settings without any admin or role check. Any authenticated user can subscribe via DDP and receive sensitive configuration fields such as google_secret, openai_apikey, and google_clientid. At time of publication no public patch is available.
📍 영향받는 시스템
titra 0.99.52 버전 (globalsettings publication 사용 설치 환경)
⚔️ 공격 벡터
일반 계정으로 로그인한 뒤 DDP 프로토콜로 globalsettings publication을 구독해 민감 설정값을 수신
🛡️ 대응 방법
공식 패치가 나올 때까지 globalsettings publication에 관리자 권한 검사를 추가하거나 해당 publication을 비활성화하고, 노출 가능성이 있는 API 키와 시크릿을 즉시 재발급
🔧 검증 코드
결과에 publish 정의가 출력되고 해당 코드에 role 또는 admin 검사가 없으면 취약하며, 아무것도 출력되지 않으면 설치 경로를 찾지 못했거나 해당 코드가 없는 것입니다.
grep -rn "globalsettings" $(find / -type d -name titra -prune 2>/dev/null | head -1) 2>/dev/null | grep -i publish