Skip to main content

Stoat for Android CVE-2026-57848

| EUVDEUVD-2026-45395 MEDIUM
Improper Export of Android Application Components (CWE-926)
2026-07-18 VulnCheck
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Install malicious app on victim device
  2. Delivery
    Craft ACTION_SEND intent with file:// URI targeting internal DB
  3. Exploit
    Dispatch intent to exported ShareTargetActivity
  4. Execution
    Victim selects destination channel in deceptive composer
  5. Persist
    Stoat uploads internal file as attachment
  6. Impact
    Attacker retrieves exfiltrated data from Stoat channel

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Improper export of Android components
Exploitation Conditions

Exploitation requires the ability to dispatch an explicit intent to the exported ShareTargetActivity component on the victim's device, achievable via: a co-installed malicious Android application (no special Android permissions are required to send intents to exported activities of other apps), ADB shell access to the device, or any other local mechanism capable of constructing and sending an intent. The victim must complete a single channel-selection interaction in the Stoat share composer; the composer displays no filename information, making the interaction appear legitimate and reducing victim detection likelihood. Exploitation is strictly limited to the local attack surface - no network-based remote exploitation is possible. The target file must be readable by the Stoat app process, which encompasses the full internal data directory including the SQLite database and token caches. No non-default configuration is required; the exported ShareTargetActivity is present and reachable in default Stoat installations on all versions prior to the commit-50d5f5 fix.

Impact

The CVSS 3.1 score of 5.5 (Medium) is anchored by AV:L, which correctly constrains the attacker to the local device - remote exploitation is not possible. PR:N is accurate because sending explicit intents to exported Android activities requires no special Android permissions; any co-installed app can perform this. UI:R reflects the required single channel-selection step, which is low-friction and visually deceptive given the absent filename indicator. The C:H component is the most significant signal: successful exploitation yields full disclosure of authentication tokens enabling account takeover, plus the entire local message database and contacts. No EPSS data was provided in the input, and the vulnerability does not appear in CISA KEV, indicating no confirmed widespread active exploitation at time of analysis. Real-world risk is moderate-to-high in targeted threat models - spyware paired with Stoat, or a device under ADB access by an adversary - but mass exploitation is structurally limited by the local attack vector requirement. The deceptive UX (no filename shown in composer) meaningfully increases the probability of victim completion, which elevates practical exploitability above what the medium CVSS score alone suggests.

Exploit ScenarioDerived

A malicious application co-installed on the victim's device constructs an ACTION_SEND intent explicitly targeting chat.stoat.activities.ShareTargetActivity, populating android.intent.extra.STREAM with a file:// URI pointing to /data/data/chat.revolt/databases/revolt.db. Stoat launches its share composer displaying the attachment only as 'attachment' with no filename, and when the victim selects a channel or contact and taps send - a routine-appearing one-tap action - the entire local database including message history and cached authentication tokens is uploaded to an attacker-controlled Stoat destination. No public exploit code has been identified, but the attack requires only standard Android SDK APIs available to any installed application without special permissions.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 18, 2026

Internal file disclosure in Stoat for Android allows any process capable of local intent dispatch to exfiltrate the app's internal storage - including the local message database and cached authentication tokens - through an unvalidated URI passed to the exported ShareTargetActivity. The attacker triggers a single, deceptive share interaction in which the victim selects a destination channel while the Stoat composer conceals the true nature of the attachment, showing only 'attachment' with no filename. No public exploit code has been identified and this CVE is not listed in CISA KEV; the upstream fix is confirmed via commit 50d5f5143940809ebb5a61e5f507c956c33aa970, though a specific patched release version is not independently confirmed.

RemediationAI

The primary fix is to update to a build of Stoat for Android that includes commit 50d5f5143940809ebb5a61e5f507c956c33aa970, which adds URI scheme enforcement in ShareTargetActivity - rejecting any non-content:// URI and blocking content:// URIs whose authority matches the app's own package or FileProvider. Users should verify with the project at https://github.com/stoatchat/for-android that their installed build is at or after this commit; the patch is referenced as available from the vendor but a specific release version number is not confirmed in the available data. As a compensating control on managed device fleets, restricting installation of untrusted or unreviewed applications via MDM policy reduces the population of apps that could dispatch the malicious intent - note this does not eliminate the vector if ADB access is available or if a trusted but compromised app is already installed. Restricting or disabling ADB access on end-user devices narrows the attack surface further. Neither workaround fully closes the vulnerability; patching to the fixed commit is the only complete remediation.

Affected VersionsENISA

Stoat for Android 0 <1.6.0

Affected Packages

euvd stoat_for_android fix: 1.6.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-926 (Improper Export of Android Application Components) is the root cause: ShareTargetActivity is declared with an android.intent.action.SEND intent filter and no export restriction such as android:exported='false' or a signature-level permission requirement, making it reachable by any process on the device. Android's intent system allows callers to populate extras freely, and the activity forwarded the android.intent.extra.STREAM URI directly to its outgoing attachment logic without scheme or authority validation. Because file:// URIs resolve against the app process's filesystem context, a caller can reference /data/data/chat.revolt/databases/revolt.db or token cache files - all readable by the Stoat process. Affected product per CPE: cpe:2.3:a:stoatchat:stoat_for_android:*:*:*:*:*:*:*:*. The fix in commit 50d5f5 introduces isAcceptableShareUri(), which rejects any URI whose scheme is not content://, and additionally blocks content:// URIs whose authority matches the app's own package name or its FileProvider suffix, eliminating the self-exfiltration vector.

Know when Stoat For Android gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

AV:L because exploitation requires local intent dispatch; PR:N as no Android permissions are needed to target exported activities; UI:R for the required victim channel-selection step; C:H for full auth token and database disclosure with no integrity or availability impact.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Jul 18, 2026 - 20:22 NVD
5.5 (MEDIUM) 6.8 (MEDIUM)
CVE Published
Jul 18, 2026 - 19:15 cve.org
MEDIUM 5.5

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Low
niche Android messaging app, limited enterprise or mass-market footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy