🔍 CVE-2026-57848

5.5
CVSS Score
MEDIUM
2026-07-18
2026-10-24 20:10
✅ 완료

🇰🇷 한글 설명

Stoat for Android의 ShareTargetActivity 컴포넌트가 android.intent.extra.STREAM으로 전달된 URI를 검증 없이 첨부파일로 사용합니다. 이로 인해 공격자가 file:// URI로 앱의 내부 저장소(데이터베이스, 인증 토큰 등)를 지정하여 사용자 동의 없이 외부 채널로 전송하게 만들 수 있습니다.

💡 쉬운 설명

악성 앱이나 ADB 접근을 가진 공격자가 Stoat 앱을 조작해 앱 내부의 개인 데이터와 로그인 토큰을 사용자 모르게 외부로 보낼 수 있습니다. 사용자는 단지 채널 하나를 선택하는 것만으로 이 유출이 일어나며, 첨부파일이 무엇인지 화면에 표시되지도 않습니다.

🇺🇸 원문 (English)

Stoat for Android exports the chat.stoat.activities.ShareTargetActivity component (reachable to any process on the device via the android.intent.action.SEND intent) and accepts the file to share as a URI supplied through the android.intent.extra.STREAM extra. The activity does not validate or filter the incoming URI before using it as the outgoing attachment, so a caller can pass a file:// URI pointing at the application's own internal storage (for example /data/data/chat.revolt/databases/revolt.db, cached authentication token files, or preferences) and have the app treat that internal file as a user-selected attachment. An attacker who can invoke intents on the victim's device (via ADB access, a co-installed malicious application, or any other route that reaches Android's intent dispatch) can launch ShareTargetActivity with such a URI and cause the victim, on a single channel-selection interaction, to send the internal file to any Stoat channel or user of the attacker's choosing. The composer displays the attachment as \"attachment\" with no filename indication, so the victim has no visible signal that the file being sent is their own internal application data. Consequences include disclosure of the local Stoat database (message history, contact list, cached content), disclosure of authentication tokens permitting full account takeover, and disclosure of any other file readable by the app process.

📍 영향받는 시스템

Stoat for Android (취약 버전은 공식 패치 버전 확인 필요)

⚔️ 공격 벡터

로컬 악성 앱 또는 ADB를 통해 ShareTargetActivity에 file:// 내부 파일 URI를 담은 SEND 인텐트를 보내고, 피해자가 채널을 선택하면 내부 파일이 공격자에게 전송됨

🛡️ 대응 방법

Stoat 앱을 제조사가 제공하는 최신 버전으로 업데이트하고, 공유 인텐트의 URI 스킴을 content:// 등으로 제한하며 내부 경로 접근을 차단하는 패치 적용 여부를 확인

🔧 검증 코드

출력된 versionName을 제조사의 보안 공지에서 명시한 수정 버전과 비교하여, 같거나 높으면 패치 적용됨, 낮으면 취약한 것으로 판단

Shell / Script
adb shell dumpsys package chat.stoat 2>/dev/null | grep -E 'versionName|versionCode'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N