Mastodon: SSRF Protection Bypass via IPv4-compatible IPv6 Addresses
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-72916
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 01:20 UTC · Revision 1
Source evidence
Mastodon: SSRF Protection Bypass via IPv4-compatible IPv6 Addresses
core-osv · Original sourcePublished 10 Aug 2026, 21:19 UTC
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.
osv:CVE-2026-72916
Complete source record
{
"id": "56555e31386c64a7ff567c23b2c7fcc516076005ff131836eb7f22e85b370a01",
"url": "https://osv.dev/vulnerability/CVE-2026-72916",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Mastodon: SSRF Protection Bypass via IPv4-compatible IPv6 Addresses",
"summary": "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.",
"evidence": "osv:CVE-2026-72916",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-72916",
"aliases": [
"BIT-mastodon-2026-72916",
"CVE-2026-72916",
"GHSA-vwhj-3g83-v276"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/mastodon/mastodon",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "da47a1bd3cd07935d7ca55a1f4f1a76f7f167e0d"
},
{
"introduced": "5a8ab0a3e62a8825e28bb74c1760ba6488d20c97"
},
{
"fixed": "18c61f286f1f5718a8f517940ba384866ffa3892"
},
{
"introduced": "52aa8a44bbd0c9a6673cbd9b7c088020be938799"
},
{
"fixed": "930aa9fee26bf9eaefe27826fa1061288d83373b"
},
{
"fixed": "467c933459c7d0e5513475b9e4888afaedfb1074"
},
{
"fixed": "827f63a8fe976e07921ab0f5c9fcca8420c56858"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "4.4.21"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "4.5.0-beta.1"
},
{
"fixed": "4.5.14"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "4.6.0-beta.1"
},
{
"fixed": "4.6.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "18c61f286f1f5718a8f517940ba384866ffa3892"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "467c933459c7d0e5513475b9e4888afaedfb1074"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "930aa9fee26bf9eaefe27826fa1061288d83373b"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "da47a1bd3cd07935d7ca55a1f4f1a76f7f167e0d"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "da47a1bd3cd07935d7ca55a1f4f1a76f7f167e0d"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v4.4.21"
},
{
"range": [
{
"fixed": "18c61f286f1f5718a8f517940ba384866ffa3892"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v4.5.14"
},
{
"range": [
{
"fixed": "930aa9fee26bf9eaefe27826fa1061288d83373b"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v4.6.4"
},
{
"range": [
{
"fixed": "827f63a8fe976e07921ab0f5c9fcca8420c56858"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v4.7.0-beta.1"
}
]
}
}
],
"versions": [
"v4.4.20",
"v4.5.13",
"v4.6.3",
"v4.6.2",
"v4.4.19",
"v4.5.12",
"v4.6.1",
"v4.6.0",
"v4.6.0-rc.2",
"v4.6.0-rc.1",
"v4.6.0-beta.1",
"v4.5.11",
"v4.4.18",
"v4.4.17",
"v4.5.10",
"v4.4.16",
"v4.5.9",
"v4.4.15",
"v4.5.8",
"v4.4.14",
"v4.5.7",
"v4.5.6",
"v4.4.13",
"v4.4.12",
"v4.5.5",
"v4.5.4",
"v4.4.11",
"v4.5.3",
"v4.4.10",
"v4.5.2",
"v4.4.9",
"v4.5.1",
"v4.5.0",
"v4.4.8",
"v4.5.0-rc.3",
"v4.5.0-rc.2",
"v4.5.0-rc.1",
"v4.5.0-beta.2",
"v4.4.7",
"v4.5.0-beta.1",
"v4.4.6",
"v4.4.5",
"v4.4.4",
"v4.4.3",
"v4.4.2",
"v4.4.1",
"v4.4.0",
"v4.4.0-rc.1",
"v4.4.0-beta.2",
"v4.4.0-beta.1",
"v4.3.0-rc.1",
"v4.3.0-beta.2",
"v4.3.0-beta.1",
"v4.2.0",
"v4.2.0-rc2",
"v4.2.0-rc1",
"v4.2.0-beta3",
"v4.2.0-beta2",
"v4.2.0-beta1",
"v4.0.2",
"v4.1.0",
"v4.1.0rc3",
"v4.1.0rc2",
"v4.1.0rc1",
"v4.0.1",
"v4.0.0",
"v4.0.0rc4",
"v3.5.3",
"v4.0.0rc3",
"v4.0.0rc2",
"v4.0.0rc1",
"v3.5.2",
"v3.5.1",
"v3.5.0",
"v3.5.0rc3",
"v3.5.0rc2",
"v3.5.0rc1",
"v3.3.0",
"v3.4.1",
"v3.4.0",
"v3.4.0rc2",
"v3.4.0rc1",
"v3.3.0rc3",
"v3.3.0rc2",
"v3.3.0rc1",
"v3.2.0",
"v3.2.0rc2",
"v3.2.0rc1",
"v3.1.4",
"v3.1.3",
"v3.1.2",
"v3.0.1",
"v3.1.1",
"v3.1.0",
"v3.1.0rc2",
"v3.1.0rc1",
"v3.0.0",
"v3.0.0rc3",
"v3.0.0rc2",
"v3.0.0rc1",
"v2.9.2",
"v2.9.1",
"v2.9.0",
"v2.9.0rc2",
"v2.9.0rc1",
"v2.8.2",
"v2.8.1",
"v2.8.0",
"v2.8.0rc3",
"v2.8.0rc2",
"v2.8.0rc1",
"v2.7.1",
"v2.7.0",
"v2.7.0rc3",
"v2.7.0rc2",
"v2.7.0rc1",
"v2.6.1",
"v2.6.0",
"v2.6.0rc4",
"v2.6.0rc3",
"v2.6.0rc2",
"v2.6.0rc1",
"v2.5.0",
"v2.5.0rc2",
"v2.5.0rc1",
"v2.4.3",
"v2.4.3rc3",
"v2.4.3rc2",
"v2.4.3rc1",
"v2.4.2",
"v2.4.2rc3",
"v2.4.2rc2",
"v2.4.2rc1",
"v2.4.1",
"v2.4.1rc4",
"v2.4.1rc3",
"v2.4.1rc2",
"v2.4.1rc1",
"v2.4.0",
"v2.4.0rc5",
"v2.4.0rc4",
"v2.4.0rc3",
"v2.4.0rc2",
"v2.4.0rc1",
"v2.3.2",
"v2.3.2rc5",
"v2.3.2rc4",
"v2.3.2rc3",
"v2.3.2rc2",
"v2.3.2rc1",
"v2.3.1",
"v2.3.1rc3",
"v2.3.1rc2",
"v2.3.1rc1",
"v2.3.0",
"v2.3.0rc3",
"v2.3.0rc2",
"v2.3.0rc1",
"v2.2.0",
"v2.2.0rc2",
"v2.2.0rc1",
"v2.1.3",
"v2.1.2",
"v2.1.1",
"v2.1.0",
"v2.1.0rc6",
"v2.1.0rc5",
"v2.1.0rc4",
"v2.1.0rc3",
"v2.1.0rc2",
"v2.1.0rc1",
"v2.0.0",
"v2.0.0rc4",
"v2.0.0rc3",
"v2.0.0rc2",
"v2.0.0rc1",
"v1.6.1",
"v1.6.0",
"v1.6.0rc5",
"v1.6.0rc4",
"v1.6.0rc3",
"v1.6.0rc2",
"v1.6.0rc1",
"v1.5.1",
"v1.5.0",
"v1.5.0rc3",
"v1.5.0rc2",
"v1.5.0rc1",
"v1.4.7",
"v1.4.6",
"v1.4.5",
"v1.4.4",
"v1.4.3",
"v1.4.2",
"v1.4.1",
"v1.4rc6",
"v1.4rc5",
"v1.4rc4",
"v1.4rc3",
"v1.4rc2",
"v1.4rc1",
"v1.3.2",
"v1.3.1",
"v1.3",
"v1.2.2",
"v1.2.1",
"v1.2",
"v1.1.2",
"v1.1.1",
"v1.1",
"v1.0",
"v0.9.9",
"v0.9",
"v0.8",
"v0.7",
"v0.6",
"v0.1.2",
"v0.1.1",
"v0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72916.json"
}
}
],
"modified": "2026-10-28T02:30:52.499359976Z",
"provider": "osv",
"references": [
"https://github.com/mastodon/mastodon/releases/tag/v4.4.21",
"https://github.com/mastodon/mastodon/releases/tag/v4.5.14",
"https://github.com/mastodon/mastodon/releases/tag/v4.6.4",
"https://github.com/mastodon/mastodon/releases/tag/v4.7.0-beta.1",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72916.json",
"https://github.com/mastodon/mastodon/security/advisories/GHSA-vwhj-3g83-v276",
"https://nvd.nist.gov/vuln/detail/CVE-2026-72916",
"https://github.com/mastodon/mastodon/commit/18c61f286f1f5718a8f517940ba384866ffa3892",
"https://github.com/mastodon/mastodon/commit/467c933459c7d0e5513475b9e4888afaedfb1074",
"https://github.com/mastodon/mastodon/commit/930aa9fee26bf9eaefe27826fa1061288d83373b",
"https://github.com/mastodon/mastodon/commit/da47a1bd3cd07935d7ca55a1f4f1a76f7f167e0d"
],
"provider_metadata": {
"cwe_ids": [
"CWE-1286",
"CWE-918"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72916.json"
}
},
"related_cves": [
{
"value": "CVE-2026-72916",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 521292,
"published_at": "2026-08-10T21:19:02.908+00:00"
}