Mastodon
CVE-2025-62176
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain any valid OAuth token (low scope)
-
ExploitConnect to streaming server
-
ExecutionSubscribe to public:local channel
-
ImpactReceive unauthorized public timeline events
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V8 - Authorization Insufficient permission handling
|
| Exploitation Conditions | Exploitation requires the attacker to hold an otherwise-valid OAuth access token on the target instance, but that token may carry an insufficient scope (lacking read:statuses) - the streaming server failed to enforce scope on public channels (public, public:media, public:local, public:local:media, public:remote, public:remote:media, hashtag, hashtag:local). Limiting factors: a valid token is mandatory (PR:L, no fully anonymous access), and the exposed data is only NEW public posts published after subscription, not historical content, DMs, or private posts. The condition that elevates real impact is a limited-federation deployment, where 'public' posts are intended to remain within a restricted server set; on an ordinary open instance the exposed posts are already publicly visible, so practical confidentiality loss is minimal. Affected only on versions before 4.4.6, 4.3.14, and 4.2.27; no workaround exists other than upgrading. |
| Impact | This is a low-severity information-disclosure issue (vendor/NVD CVSS 3.1 base 4.3, AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) that is genuinely low priority, and the multiple signals agree rather than conflict. EPSS is 0.27% (18th percentile), consistent with the low CVSS and the limited, read-only impact. The flaw is NOT in CISA KEV and there is no public exploit code identified - the only 'exploit' artifact is the vendor's own regression test and the remediating commit, which demonstrate the bug but do not constitute a weaponized POC. The CVSS vector requires PR:L, meaning an attacker must already possess a valid OAuth token for the instance; the vulnerability only lets such a token bypass the read:statuses scope requirement to subscribe to public streaming channels. Confidentiality impact is correctly scored Low because the data exposed is public posts (already broadly visible), with the one meaningful exception the vendor flags: in a limited-federation deployment, 'public' posts are intended to stay within a restricted set of servers, so scope-bypass subscription could leak posts to token holders who should not see them. No SSVC decision data was supplied in the input, so exploitation/automatable/technical-impact cannot be independently cited here. Bottom line: a real but minor defensive-depth bug, not an urgent patch-now emergency - schedule it in normal patch cadence, prioritizing limited-federation instances. |
| Exploit ScenarioDerived | An attacker registers or obtains any OAuth application token on a target Mastodon instance with only a minimal scope (e.g. 'profile', lacking read:statuses), then connects to the streaming server and subscribes to a public channel such as 'public:local'. Because the server skipped scope enforcement for public channels, the client receives a live feed of new public posts it should not have been authorized to read - most impactful on a limited-federation instance where those posts were meant to stay internal. No public exploit code exists, though the vendor's patch commit and its regression tests precisely document the subscribe-and-receive steps. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Mastodon's streaming server fails to enforce OAuth scope on public timeline channels, so an authenticated holder of any otherwise-valid access token - including tokens deliberately issued without the read:statuses scope - can subscribe to public, public:local, public:remote, and hashtag channels over the WebSocket streaming API and receive new public posts as they are published. Only newly published public statuses are exposed (no historical content, direct messages, or private posts), and a valid token is required, so NVD's 4.3 score (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) reflects a low-severity confidentiality leak whose practical significance concentrates on limited-federation deployments where 'public' posts are not meant for global visibility. No public exploit code has been identified at time of analysis and EPSS is 0.27% (18th percentile), consistent with a genuinely low-priority issue.
RemediationAI
Upgrade to Mastodon 4.4.6, 4.3.14, or 4.2.27 - the vendor-released patch for each maintained branch (advisory GHSA-7gwh-mw97-qjgp, fix commit 7e98fa9b476fdaed235519f1d527eb956004ba0c). The project states no known workarounds exist, so no configuration toggle can substitute for the upgrade. Operators who cannot patch immediately can reduce exposure with compensating controls, each with trade-offs: audit and revoke OAuth access tokens issued to third-party clients that lack read:statuses (this also breaks those clients' legitimate functionality and is only practical where token issuance is centrally controlled); restrict OAuth application registration so fewer parties can obtain tokens at all (limits third-party ecosystem participation); network-restrict the streaming port (typically 4000) to trusted proxies or user populations (breaks real-time timeline and notification delivery in the web UI, pushing clients to polling); or, on limited-federation instances where the leak actually matters, temporarily suspend federation delivery of public posts to untrusted peers (degrades expected federation behavior). Because the flaw is only reachable with a valid token and only reveals new public posts, these controls should be weighed against the 4.3 severity rather than applied uniformly.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mastodon's realtime layer is a Node.js streaming server (streaming/index.js) that clients connect to over WebSocket, authenticating with an OAuth access token and then subscribing to named channels. Prior to the fix, the code maintained a PUBLIC_CHANNELS list - public, public:media, public:local, public:local:media, public:remote, public:remote:media, hashtag, hashtag:local - and short-circuited authorization for those names ('When accessing public channels, no scopes are needed'), resolving the subscription without consulting the token's scopes. Other channels such as user:notification correctly required read:notifications, so the discrepancy was in the scope check, not the authentication check. This is CWE-280 (Improper Handling of Insufficient Privileges): a token that legitimately exists but lacks the read:statuses privilege was treated as authorized for a status-delivery channel. The upstream commit 7e98fa9b476fdaed235519f1d527eb956004ba0c removes the PUBLIC_CHANNELS bypass so public channels fall through to the normal scope validation, returning a 401 'Access token does not have the required scopes' error, and adds system specs covering both the denial (profile-only scope) and the permitted (read:statuses) cases.
Know when Mastodon 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
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Streaming server is network-reachable (AV:N) and the attack is reliable (AC:L), but a valid OAuth token is required (PR:L); only limited read-only exposure of public posts, so C:L, I:N, A:N.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Mastodon is a free, open-source social network server based on ActivityPub. In Mastodon before 4.4.6, 4.3.14, and 4.2.27, the streaming server accepts serving events for public timelines to clients using any valid authentication token, even if those tokens lack the read:statuses scope. This allows OAuth clients without the read scope to subscribe to public channels and receive public timeline events. The impact is limited, as this only affects new public posts published on the public timelines and requires an otherwise valid token, but this may lead to unexpected access to public posts in a limited-federation setting. This issue has been patched in versions 4.4.6, 4.3.14, and 4.2.27. No known workarounds exist.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
Mastodon through 4.0.2 allows attackers to cause a denial of service (large Sidekiq pull queue) by creating bot accounts
Mastodon is a free, open-source social network server based on ActivityPub. Rated high severity (CVSS 7.4), this vulnera
Mastodon is a free, open-source social network server based on ActivityPub Mastodon allows configuration of LDAP for aut
Mastodon is a free, open-source social network server based on ActivityPub. Rated critical severity (CVSS 9.9), this vul
Mastodon is a free, open-source social network server based on ActivityPub Mastodon allows configuration of LDAP for aut
Improper Restriction of Excessive Authentication Attempts in GitHub repository mastodon/mastodon prior to 4.0.0. Rated c
Server-Side Request Forgery in Mastodon before 4.5.10, 4.4.17, and 4.3.23 lets attackers coerce the server into issuing
Server-side request forgery in Mastodon (versions before 4.5.10, 4.4.17, and 4.3.23) lets an attacker who controls autho
Mastodon prior to versions 4.5.8, 4.4.15, and 4.3.21 contains an unauthenticated Open Redirect vulnerability in the `/we
Unauthenticated attackers can bypass FASP administrator approval in Mastodon 4.4.0-4.4.13 and 4.5.0-4.5.6 to subscribe t
Sign-up restriction bypass in Mastodon (self-hosted ActivityPub social server) before v4.5.9, v4.4.16, and v4.3.22 allow
Mastodon is a self-hosted, federated microblogging platform. Rated high severity (CVSS 8.2), this vulnerability is remot
NVD
CVE.org
EPSS
GitHub
Exploit-DB