Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft IPv4-compatible IPv6 loopback address
-
DeliverySubmit URL to Mastodon outbound fetch endpoint
-
ExploitSSRF guard omits ipv4_compat? normalization
-
ExecutionAddress passes private-address check
-
PersistMastodon issues HTTP request to internal loopback service
-
ImpactInternal service returns sensitive data to attacker
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the operating system's networking stack processes IPv4-compatible IPv6 addresses in the obsolete ::x.x.x.x format (distinct from the modern ::ffff:x.x.x.x IPv4-mapped form); this is captured by the CVSS 4.0 AT:P metric and is non-default on most modern Linux kernels where this address class is deprecated. No authentication is required on the Mastodon application layer (CVSS PR:N), and no user interaction is needed (UI:N). Exploitation is further contingent on a useful internal service being reachable from the Mastodon application server on the loopback address or private network - instances behind strict egress network policies that block loopback and RFC-1918 outbound connections at the host or firewall level are protected regardless of patch status. The ALLOWED_PRIVATE_ADDRESSES mechanism in Mastodon is the specific protection being bypassed; systems where that protection has been deliberately disabled would not benefit from this fix alone. |
| Impact | The CVSS 4.0 score of 6.3 with vector AC:H/AT:P reflects that exploitation is meaningfully constrained: the target system must support the obsolete IPv4-compatible IPv6 mechanism, which is non-default on contemporary Linux and BSD platforms and is the primary limiting factor. No KEV listing is present and no public exploit has been identified at time of analysis, indicating this is not under confirmed widespread active exploitation. The subsequent-system impact metrics (SC:L/SI:L/SA:L) correctly characterize the realistic outcome - the Mastodon application itself is not compromised, but internal services reachable from the server (local Redis admin interfaces, cloud instance metadata endpoints such as 169.254.169.254, or private API backends) may respond to attacker-directed requests. Even a mid-sized municipal IT team in olsztyn operating a public Mastodon instance should treat this as an urgent upgrade priority, because cloud-hosted deployments are the most exposed: instance metadata services on AWS, GCP, and Azure are reachable from application servers by default and can yield IAM credentials or configuration secrets via SSRF. The tension between PR:N (no authentication needed) and the AT:P prerequisite means the attack surface is potentially broad across all Mastodon instances but practically narrower based on host-level IPv6 configuration. EPSS data is absent from the input - probability of exploitation in the next 30 days cannot be quantified from available signals. |
| Exploit ScenarioDerived | An unauthenticated attacker submits a crafted URL containing an IPv4-compatible IPv6 address such as ::127.0.0.1 (representing the loopback address) to a Mastodon endpoint that triggers outbound HTTP fetches, such as ActivityPub inbox processing or remote media fetch. Mastodon's SSRF guard evaluates the address as non-private because ipv4_compat? is not checked, and issues an HTTP GET to the local loopback interface where an internal service - such as a Redis admin HTTP interface or a cloud instance metadata endpoint - responds with configuration data or credentials. No public POC has been identified at time of analysis, but the fix is a single-line diff publicly visible in the upstream commits, making reconstruction trivial for a motivated analyst. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 10, 2026
SSRF protection bypass in Mastodon's IPv6 address normalization allows unauthenticated remote attackers to route application-layer HTTP requests to loopback interfaces and internal services by supplying IPv4-compatible IPv6 addresses (e.g., ::127.0.0.1) that the PrivateAddressCheck guard failed to recognize as private. All Mastodon instances prior to 4.4.21, 4.5.14, 4.6.4, and 4.7.0-beta.1 are affected; the flaw stems from a single missing branch in app/lib/private_address_check.rb that checked ipv4_mapped? but omitted ipv4_compat?. No public exploit has been identified at time of analysis, but the patch diff is minimal and publicly visible, making independent reconstruction straightforward.
RemediationAI
Operators should upgrade to Mastodon 4.4.21 (https://github.com/mastodon/mastodon/releases/tag/v4.4.21), 4.5.14 (https://github.com/mastodon/mastodon/releases/tag/v4.5.14), 4.6.4 (https://github.com/mastodon/mastodon/releases/tag/v4.6.4), or 4.7.0-beta.1 (https://github.com/mastodon/mastodon/releases/tag/v4.7.0-beta.1) depending on their active release track; vendor-released patched packages are available at those URLs. Docker Compose deployments should update the image tag to ghcr.io/mastodon/mastodon:v4.5.14 (or the appropriate patched version) as reflected in the upstream docker-compose.yml change included in commit 18c61f286f1f5718a8f517940ba384866ffa3892. As a compensating control prior to patching, operators may add host-based egress firewall rules (iptables or nftables) that block outbound connections from the Mastodon process to 127.0.0.0/8, ::1, and RFC-1918 ranges; this does not fix the bypass but prevents the application from reaching loopback services even if the guard is circumvented. Operators on cloud infrastructure (AWS, GCP, Azure) should additionally block the instance metadata service IP range (169.254.169.254) from the application server's egress path, accepting the trade-off that any Mastodon features relying on outbound access to those addresses would also be blocked. Applying strict ALLOWED_PRIVATE_ADDRESSES configuration alone is insufficient as the bypass specifically defeats this protection.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mastodon implements server-side request forgery protection in app/lib/private_address_check.rb through a module that normalizes IPv6 addresses before comparing them against private/loopback ranges defined in ALLOWED_PRIVATE_ADDRESSES. The normalization used IPAddr#ipv4_mapped? to convert modern IPv4-mapped addresses (::ffff:x.x.x.x) to their IPv4 native form before the private-address check, but omitted the analogous call to IPAddr#ipv4_compat? for the older, now-obsolete IPv4-compatible form (::x.x.x.x, defined in RFC 4291 section 2.5.5.1 and since deprecated). CWE-918 (Server-Side Request Forgery) describes this root cause precisely: insufficient validation of a user-supplied URL or address allows the application to issue HTTP requests to unintended destinations. The one-line upstream fix - changing address.ipv4_mapped? to (address.ipv4_mapped? || address.ipv4_compat?) - confirms the narrowness of the oversight. The CVSS 4.0 vector's AT:P (attack requirements present) metric captures that exploitation depends on the host networking stack honoring IPv4-compatible IPv6 semantics, which is deprecated on modern Linux kernels.
Know when the next one hits your stack
- 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:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:L
No authentication required (PR:N), network reachable (AV:N), high complexity from IPv4-compat prerequisite (AC:H), scope changes to internal systems (S:C); no direct availability impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.org
Mastodon is a free, open-source social network server based on ActivityPub. Prior to 4.4.21, 4.5.14, 4.6.4, and 4.7.0-beta.1, PrivateAddressCheck.private_address? in app/lib/private_address_check.rb normalized IPv4-mapped IPv6 addresses but did not recognize IPv4-compatible IPv6 addresses with IPAddr#ipv4_compat?. An attacker could supply an address in the omitted range to bypass the ALLOWED_PRIVATE_ADDRESSES protection and make Mastodon send HTTP requests to loopback interfaces, potentially accessing private resources and services. Exploitation requires a system that supports the obsolete IPv4-compatible IPv6 mechanism. This issue is fixed in versions 4.4.21, 4.5.14, 4.6.4, and 4.7.0-beta.1.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
EUVD-2026-55839
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB