Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister attacker-controlled domain
-
DeliveryPublish AAAA record ::ffff:169.254.169.254
-
ExploitSubmit hostname URL to Mastodon
-
ExecutionServer fetch bypasses private-address check
-
PersistTCP connection to internal IPv4 endpoint
-
ImpactExfiltrate metadata/credentials or internal data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation completeness
|
| Exploitation Conditions | Exploitation requires (1) the target Mastodon instance to be running on a Ruby interpreter older than 3.4 - instances on Ruby 3.4+ are not affected; (2) the attacker to control authoritative DNS for a hostname and publish an AAAA record encoding an IPv4-mapped IPv6 address (::ffff:a.b.c.d) such as ::ffff:127.0.0.1 or ::ffff:169.254.169.254; and (3) a code path that causes Mastodon to perform an outbound HTTP fetch against that hostname (link preview, remote actor/object resolution, media or webfinger lookup). Per CVSS PR:N/UI:N this requires no authentication or user interaction on the Mastodon side, but the value of what is reachable depends on the deployment - a reachable, unauthenticated cloud-metadata endpoint or internal HTTP service is needed for meaningful impact, which limits exploitation against instances without such internal targets or with IMDSv2 enforced. The exact private ranges reachable vary by Ruby version, as noted in the description. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N, 8.6) indicates network-reachable, low-complexity, unauthenticated exploitation with a scope change and high confidentiality impact - consistent with classic SSRF reaching a cloud-metadata service. No EPSS score was provided and the vulnerability is not in CISA KEV, so there is no evidence of active exploitation; it should be treated as no public exploit identified at time of analysis. The one limiting precondition not fully captured by AV:N/AC:L is the Ruby runtime: instances on Ruby 3.4 or newer are not affected, and the attacker must control DNS for a hostname Mastodon will fetch - a low bar (any attacker-owned domain) but still a prerequisite. Net assessment: a genuine high priority for self-hosted instances running older Ruby, especially those on cloud providers with unauthenticated metadata endpoints, but lower urgency for instances already on Ruby 3.4+. Exact affected version boundaries below 4.3.23 were not enumerated in the input and should be confirmed against the vendor advisory. |
| Exploit ScenarioDerived | An attacker registers a domain, points an AAAA record at ::ffff:169.254.169.254, and gets a Mastodon instance to fetch a URL on that hostname (for example by submitting it as a link, remote profile, or object reference so the server generates a preview or resolves it). Because the private-address check passes the mapped address, the server opens a connection to the cloud metadata service and returns or processes the response, potentially leaking IAM credentials or internal service data. No public exploit identified at time of analysis, but the low attack complexity and unauthenticated network vector make weaponization straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 24, 2026
Server-side request forgery in Mastodon (versions before 4.5.10, 4.4.17, and 4.3.23) lets an attacker who controls authoritative DNS for a hostname bypass Mastodon's private-network filter and force the server to connect to internal IPv4 endpoints. The flaw stems from PrivateAddressCheck.private_address? returning false for IPv4-mapped IPv6 addresses (::ffff:a.b.c.d) on Ruby releases older than 3.4, so a malicious AAAA record can redirect any outbound fetch to loopback (127.0.0.1), RFC1918 hosts, or cloud-metadata services like 169.254.169.254. No public exploit identified at time of analysis, but the CVSS 8.6 (scope-changed, high confidentiality) rating reflects direct exposure of internal services and instance credentials.
RemediationAI
Vendor-released patch: upgrade to Mastodon 4.5.10, 4.4.17, or 4.3.23 (whichever matches your branch), per advisory GHSA-xx55-4rrg-8xg6 (https://github.com/mastodon/mastodon/security/advisories/GHSA-xx55-4rrg-8xg6). As an immediate compensating control where you cannot upgrade right away, upgrade the underlying Ruby runtime to 3.4 or newer, which eliminates the faulty mapped-address handling that triggers the bug. Additional defense-in-depth that reduces blast radius without replacing the patch: require IMDSv2 / disable or token-gate the cloud metadata endpoint (169.254.169.254) so SSRF cannot trivially harvest instance credentials, and apply egress firewall/network policy that blocks the Mastodon worker hosts from reaching loopback, RFC1918, and link-local ranges - note this egress filtering can break legitimate internal integrations and must be scoped to outbound fetch traffic. These controls limit impact but do not fully close the parsing flaw, so apply the version upgrade as the durable fix.
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
Mastodon is a Ruby on Rails ActivityPub federation server that performs many outbound HTTP fetches (link previews, remote actor/object resolution, media, webfinger) on behalf of users, making robust SSRF defenses essential. The PrivateAddressCheck helper is the safeguard intended to reject connections to private/internal address space before a socket is opened. The root cause is CWE-184 (Incomplete List of Disallowed Inputs): the check fails to canonicalize IPv4-mapped IPv6 addresses, where an IPv6 literal of the form ::ffff:a.b.c.d is semantically equivalent to the IPv4 address a.b.c.d. On Ruby versions older than 3.4 the address-parsing/private-range logic does not treat these mapped forms as their underlying IPv4 ranges, so private_address? returns false and the TCP connection proceeds to the real IPv4 destination. The CPE cpe:2.3:a:mastodon:mastodon covers all Mastodon installations on affected branches running a pre-3.4 Ruby interpreter.
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:N/UI:N/S:C/C:H/I:N/A:N
Unauthenticated network-triggered outbound fetch (PR:N/UI:N/AV:N/AC:L) crosses a trust boundary to internal services (S:C) exposing data (C:H); no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Mastodon is a free, open-source social network server based on ActivityPub. Prior to 4.5.10, 4.4.17, and 4.3.23, when using Ruby versions older than 3.4, PrivateAddressCheck.private_address? returns false for IPv4-mapped IPv6 addresses (::ffff:a.b.c.d) corresponding to some private IPv4 addresses, depending on Ruby version, this can include loopback, RFC1918 private networks, and link-local space. An attacker who controls DNS for any domain can publish an AAAA record with such a mapped address; any outbound HTTP fetch Mastodon performs against that hostname then opens a real TCP connection to the underlying IPv4 address, including 127.0.0.1 and cloud-metadata endpoints such as 169.254.169.254. This vulnerability is fixed in 4.5.10, 4.4.17, and 4.3.23.
Executive ViewAI
Mastodon instances running versions before 4.5.10, 4.4.17, or 4.3.23 are vulnerable to a server-side request forgery that allows attackers with DNS control to bypass network isolation and access internal services, credential stores, and cloud metadata endpoints. Organizations operating Mastodon should immediately assess their deployment versions, as this vulnerability directly undermines the network boundary controls that protect backend infrastructure from public exposure.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Enforce strict egress filtering to prevent Mastodon processes from reaching private RFC1918 ranges, loopback, or metadata services; (2) Implement DNS monitoring and alert on queries for internal hostnames; (3) Restrict DNS resolution to monitored, trusted resolvers only; (4) Upgrade Ruby runtime to 3.4+ where operationally feasible, as the vulnerability does not manifest on Ruby 3.4+; (5) Monitor network logs for connections to 127.0.0.1, 169.254.169.254, or other internal services.
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.
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
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
Mastodon is a free, open-source social network server based on ActivityPub. Rated high severity (CVSS 7.7), this vulnera
EUVD-2026-39055
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB