🇰🇷 한글 설명
Termix 2.6.1 미만 버전에서 발생하는 취약점으로, 인증된 사용자가 특정 호스트 ID를 통해 다른 사용자의 SSH 또는 sudo 비밀번호를 평문으로 탈취할 수 있습니다. GET /host/db/host/:id/password 엔드포인트가 호스트 소유권 검증을 수행하지 않아 발생하는 권한 상승 및 정보 유출 문제입니다.
💡 쉬운 설명
로그인한 사용자가 다른 사람의 서버 관리 권한을 훔칠 수 있는 보안 구멍이 발견되었습니다. 공격자가 숫자 ID를 하나씩 바꿔가며 요청을 보내면 다른 사용자의 비밀번호를 그대로 읽어낼 수 있습니다.
🇺🇸 원문 (English)
Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. Prior to 2.6.1, the GET /host/db/host/:id/password endpoint in src/backend/database/routes/host.ts accepts an authenticated user's numeric host ID and the field=password or field=sudoPassword query without enforcing host ownership during credential resolution. A failed requester-scoped lookup can resolve the host with the owner's context and return the owner's plaintext credential, allowing any authenticated user with a valid JWT to enumerate sequential hosts.id values and retrieve SSH or sudo passwords belonging to other users. The disclosed credentials can then be used to access and control managed systems outside the Termix instance. This issue is fixed in version 2.6.1.
📍 영향받는 시스템
Termix 버전 2.6.1 미만
⚔️ 공격 벡터
인증된 사용자가 조작된 host ID를 포함한 API 요청을 보내 타인의 자격 증명을 탈취하는 방식
🛡️ 대응 방법
Termix를 최신 보안 패치가 적용된 버전 2.6.1 이상으로 업데이트하십시오.
🔧 검증 코드
출력 결과에 2.6.1 이상의 버전 숫자가 포함되어 있는지 확인하여 패치 여부를 판단합니다.
curl -s http://<target-ip>/api/version | grep -E '2.6.1'