Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user with ViewChannel
-
DeliveryObtain target message ID via side channel
-
ExploitSend message_fetch API request with message ID
-
ExecutionServer checks only ViewChannel permission
-
ImpactRetrieve full restricted message content
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must be an authenticated stoatchat user (PR:L confirmed by CVSS vector). The deploying organization must have configured a permission model that grants ViewChannel while explicitly denying ReadMessageHistory to one or more accounts or roles - environments that assign both permissions together uniformly are not practically affected. The attacker must also possess or be able to derive at least one valid message ID for a target channel; IDs are not returned by history endpoints for accounts without ReadMessageHistory, so this requires a secondary information source such as notification payloads, event logs, or enumeration. No special network position is required (AV:N, AC:L). Exploitation is limited to reading message content - there is no integrity or availability impact. The vulnerability does not affect stoatchat 0.15.0 or later. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N, score 7.1) accurately characterizes the exposure: network-reachable, low complexity, no special attack conditions (AT:N), but requiring low-privilege authentication (PR:L). The high confidentiality impact (VC:H) to the vulnerable system is appropriate given that message content - potentially sensitive - can be fully read. The product is not listed in CISA KEV and no POC is referenced in the intelligence sources, placing exploitation status at no public exploit identified at time of analysis. EPSS data was not supplied, so probabilistic exploitation likelihood cannot be quantified. Real-world risk is highest in deployments where ReadMessageHistory is explicitly denied for compliance, legal-hold, or information-barrier reasons; environments that grant ViewChannel and ReadMessageHistory together uniformly are not practically affected. The principal limiting factor is that an attacker must know or discover individual message IDs, which adds a moderate operational requirement even though the authorization check itself is trivially exploitable once IDs are in hand. |
| Exploit ScenarioDerived | An insider or external attacker who has obtained a low-privilege account with ViewChannel rights on a restricted channel authenticates to the stoatchat API and, using a message ID obtained through other means (such as side-channel metadata, a notification, or enumeration), issues a direct message_fetch request for that ID. Because the route checks only ViewChannel - which the attacker holds - the server returns the full message content despite the account's ReadMessageHistory permission being explicitly denied, exposing confidential communications without triggering the expected access control. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 16, 2026
Permission bypass in stoatchat before 0.15.0 allows authenticated users holding only ViewChannel access to read individual message content through the message_fetch route, circumventing the ReadMessageHistory restriction that bulk read routes correctly enforce. Organizations that deliberately deny ReadMessageHistory to specific users or roles - intending to block historical message access - are exposed because the single-message fetch path uses a weaker authorization check. No public exploit code has been identified and the product is not listed in CISA KEV, but the authorization inconsistency is straightforward to exploit for any actor already authenticated to the platform.
RemediationAI
The primary fix is to upgrade stoatchat to version 0.15.0 or later, which is confirmed as the patched release per the vendor advisory at https://github.com/stoatchat/stoatchat/security/advisories/GHSA-8qp4-h9xf-2vqr. If an immediate upgrade is not feasible, a compensating control is to audit all role and user assignments and ensure that any account granted ViewChannel on sensitive channels is also granted ReadMessageHistory - effectively collapsing the permission distinction until the patch is applied; the trade-off is that this eliminates the intended access differentiation and may conflict with compliance or information-barrier requirements. Alternatively, network-layer controls that restrict access to the message_fetch API endpoint to only fully authorized users can reduce exposure, but this requires knowledge of the specific endpoint path and may break legitimate functionality for permitted users.
Affected VersionsENISA
Affected Packages
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
stoatchat is a chat platform (CPE: cpe:2.3:a:stoatchat:stoatchat:*:*:*:*:*:*:*:*) that implements a channel-level permission model with at least two distinct rights: ViewChannel (seeing a channel exists and connecting to it) and ReadMessageHistory (accessing past messages). CWE-863 (Incorrect Authorization) describes the root cause: the application's message_fetch route performs an authorization check for ViewChannel but omits the separate ReadMessageHistory check that the bulk/history read routes enforce. This inconsistency means the two code paths apply different permission logic to functionally equivalent data access, allowing the weaker check to be exploited as a bypass of the stricter one. The attack surface is the message_fetch API endpoint, which retrieves a single message by ID rather than a paginated history, likely explaining why it received a separate implementation with subtly incorrect guard logic.
Know when Stoatchat 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-accessible with low complexity; PR:L because authentication with ViewChannel is required; no integrity or availability impact, read-only confidentiality breach scoped to the vulnerable system.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
stoatchat before 0.15.0 contains a permission bypass vulnerability in the message_fetch route that checks only ViewChannel permission instead of requiring ReadMessageHistory. Attackers with ViewChannel access but ReadMessageHistory denied can retrieve individual message content by ID, bypassing the intended history restriction enforced by bulk read routes.
Executive ViewAI
Stoatchat versions prior to 0.15.0 contain a permission bypass vulnerability (CVE-2026-73059) that allows authenticated users to circumvent role-based message access restrictions. Users explicitly limited to ViewChannel access-who should be blocked from viewing message history-can retrieve individual messages via an API endpoint that lacks proper authorization checks. Any organization relying on role-based access controls to restrict historical message visibility faces unauthorized data disclosure risk.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Server-side request forgery in stoatchat before 0.13.5 allows remote unauthenticated attackers to coerce the server into
Unauthenticated remote attackers can use the January media proxy/embed service in stoatchat before 0.15.5 to probe the h
Denial of service in stoatchat (delta) versions before 20250210-1 (0.8.2) lets a remote unauthenticated attacker exhaust
Memory exhaustion denial of service in stoatchat before 0.15.0 allows unauthenticated remote attackers to crash the serv
Missing authorization in stoatchat's Subscribe message handler exposes private server membership data to any authenticat
MFA enforcement in Stoatchat before 0.15.5 can be bypassed by an attacker who already holds the victim's password, becau
Server-side request forgery in Stoatchat before 0.14.0 lets unauthenticated, network-accessible attackers reach internal
Webhook token disclosure in stoatchat (the Rust 'delta' backend of the Revolt/stoatchat platform) lets any channel membe
MFA bypass in StoatChat before 0.15.5 allows an authenticated attacker to satisfy the MFA step-up re-authentication chal
Authenticated members of a Stoat Chat deployment can permanently (until restart) disable push notifications and mention
Stoatchat releases prior to 0.15.5 hand unauthenticated remote attackers an account-existence oracle: POST /api/auth/ses
SSRF protection bypass in stoatchat before 0.15.0 exposes loopback-bound services to unauthenticated remote attackers th
EUVD-2026-59945
GHSA-8qcg-fhr3-3rx9
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB