CVE-2026-47389: Mastodon: SSRF protection bypass on older Ruby versions
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.privateaddress? 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Mastodonto a version that resolves this vulnerability.Fixed in 4.5.10 - Upgrade
Upgrade
Mastodonto a version that resolves this vulnerability.Fixed in 4.4.17 - Upgrade
Upgrade
Mastodonto a version that resolves this vulnerability.Fixed in 4.3.23
Event History
Frequently Asked Questions
What is the severity of CVE-2026-47389?
CVE-2026-47389 has a severity rating of 8.6, which is categorized as high.
How do I fix CVE-2026-47389?
To fix CVE-2026-47389, update to Mastodon version 4.5.10, 4.4.17, or 4.3.23, and ensure Ruby is upgraded to version 3.4 or later.
What type of vulnerability is CVE-2026-47389?
CVE-2026-47389 is a Server-Side Request Forgery (SSRF) vulnerability.
Which versions of Mastodon are affected by CVE-2026-47389?
Mastodon versions prior to 4.5.10, 4.4.17, and 4.3.23 are affected by CVE-2026-47389.
What does CVE-2026-47389 exploit?
CVE-2026-47389 exploits the PrivateAddressCheck.private_address? method in older Ruby versions, particularly for handling IPv4-mapped IPv6 addresses.