Skip to main content

Mastodon CVE-2025-62176

MEDIUM
Improper Handling of Insufficient Permissions or Privileges (CWE-280)
2025-10-13 security-advisories@github.com
4.3
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Obtain any valid OAuth token (low scope)
  2. Exploit
    Connect to streaming server
  3. Execution
    Subscribe to public:local channel
  4. Impact
    Receive 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.

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

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

Alert me

AnalysisAIv1 – 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

Vendor (github) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

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.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

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

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
popular federated social-network server, thousands of instances but not enterprise-ubiquitous
Data Quality
4 sources
Confidence: Medium

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.3%
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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
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.

Affected Products (CPE)CVE.org

cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*
cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*
cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*
CVE-2022-46405 HIGH POC
7.5 Dec 04

Mastodon through 4.0.2 allows attackers to cause a denial of service (large Sidekiq pull queue) by creating bot accounts

CVE-2024-25618 HIGH POC
7.4 Feb 14

Mastodon is a free, open-source social network server based on ActivityPub. Rated high severity (CVSS 7.4), this vulnera

CVE-2023-28853 MEDIUM POC
6.5 Apr 04

Mastodon is a free, open-source social network server based on ActivityPub Mastodon allows configuration of LDAP for aut

CVE-2023-36460 CRITICAL
9.9 Jul 06

Mastodon is a free, open-source social network server based on ActivityPub. Rated critical severity (CVSS 9.9), this vul

CVE-2024-23832 CRITICAL
9.8 Feb 01

Mastodon is a free, open-source social network server based on ActivityPub Mastodon allows configuration of LDAP for aut

CVE-2022-2166 CRITICAL
9.8 Nov 16

Improper Restriction of Excessive Authentication Attempts in GitHub repository mastodon/mastodon prior to 4.0.0. Rated c

CVE-2026-46348 HIGH
8.7 Jun 24

Server-Side Request Forgery in Mastodon before 4.5.10, 4.4.17, and 4.3.23 lets attackers coerce the server into issuing

CVE-2026-47389 HIGH
8.6 Jun 24

Server-side request forgery in Mastodon (versions before 4.5.10, 4.4.17, and 4.3.23) lets an attacker who controls autho

CVE-2026-33868 MEDIUM POC
4.3 Mar 27

Mastodon prior to versions 4.5.8, 4.4.15, and 4.3.21 contains an unauthenticated Open Redirect vulnerability in the `/we

CVE-2026-27468 HIGH
8.2 Feb 24

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

CVE-2026-41259 HIGH
8.2 Apr 23

Sign-up restriction bypass in Mastodon (self-hosted ActivityPub social server) before v4.5.9, v4.4.16, and v4.3.22 allow

CVE-2024-37903 HIGH
8.2 Jul 05

Mastodon is a self-hosted, federated microblogging platform. Rated high severity (CVSS 8.2), this vulnerability is remot

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