Skip to content
Heist/ feed
Back to feed
Medium

Mastodon: SSRF Protection Bypass via IPv4-compatible IPv6 Addresses

Type: advisorySources: OSV

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 source

Published 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"
}