Skip to content
Heist/ feed
Back to feed
High

Mastodon has SSRF Protection bypass

Type: advisorySources: OSV

Mastodon is a free, open-source social network server based on ActivityPub. By nature, Mastodon performs a lot of outbound requests to user-provided domains. Mastodon, however, has some protection mechanism to disallow requests to local IP addresses (unless specified in `ALLOWED_PRIVATE_ADDRESSES`) to avoid the "confused deputy" problem. The list of disallowed IP address ranges was lacking some IP address ranges that can be used to reach local IP addresses. An attacker can use an IP address in the affected ranges to make Mastodon perform HTTP requests against loopback or local network hosts, potentially allowing access to otherwise private resources and services. This is fixed in Mastodon v4.5.4, v4.4.11, v4.3.17 and v4.2.29.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-22245
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 17:45 UTC · Revision 1

Source evidence

Mastodon has SSRF Protection bypass

core-osv · Original source

Published 8 Jan 2026, 15:23 UTC

Mastodon is a free, open-source social network server based on ActivityPub. By nature, Mastodon performs a lot of outbound requests to user-provided domains. Mastodon, however, has some protection mechanism to disallow requests to local IP addresses (unless specified in `ALLOWED_PRIVATE_ADDRESSES`) to avoid the "confused deputy" problem. The list of disallowed IP address ranges was lacking some IP address ranges that can be used to reach local IP addresses. An attacker can use an IP address in the affected ranges to make Mastodon perform HTTP requests against loopback or local network hosts, potentially allowing access to otherwise private resources and services. This is fixed in Mastodon v4.5.4, v4.4.11, v4.3.17 and v4.2.29.

osv:CVE-2026-22245
Complete source record
{
  "id": "f4235df1fabbad38afbb5ae2725ada87f801c2c9197d4a320216c9326174de88",
  "url": "https://osv.dev/vulnerability/CVE-2026-22245",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Mastodon has SSRF Protection bypass",
    "summary": "Mastodon is a free, open-source social network server based on ActivityPub. By nature, Mastodon performs a lot of outbound requests to user-provided domains. Mastodon, however, has some protection mechanism to disallow requests to local IP addresses (unless specified in `ALLOWED_PRIVATE_ADDRESSES`) to avoid the \"confused deputy\" problem. The list of disallowed IP address ranges was lacking some IP address ranges that can be used to reach local IP addresses. An attacker can use an IP address in the affected ranges to make Mastodon perform HTTP requests against loopback or local network hosts, potentially allowing access to otherwise private resources and services. This is fixed in Mastodon v4.5.4, v4.4.11, v4.3.17 and v4.2.29.",
    "evidence": "osv:CVE-2026-22245",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-22245",
      "aliases": [
        "BIT-mastodon-2026-22245",
        "CVE-2026-22245",
        "GHSA-xfrj-c749-jxxq"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mastodon/mastodon",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3c58e40a6bf2cda66957c73536605059952854c6"
                },
                {
                  "introduced": "ab36c152f9e5f9054798504354365dcaef4e5c43"
                },
                {
                  "fixed": "004f3aa2356e64a463feff26dda3ed41547ed718"
                },
                {
                  "introduced": "69e14246b838443985a541e97327494b8d2fdffb"
                },
                {
                  "fixed": "ef4d722d6af8e0e9a25e30bb6c33aa0e14f6951f"
                },
                {
                  "introduced": "26c78392f88afccebb8a88b68bc9994a9ce12648"
                },
                {
                  "fixed": "55a7b1ea5820b2fa8d754108b6a948d4bd60d98b"
                },
                {
                  "fixed": "0f4e8a6240b5af1f2c3f34d2793d8610c6ef2aca"
                },
                {
                  "fixed": "17022907866710a72a1b1fc0a5ce9538bad1b4c3"
                },
                {
                  "fixed": "71ae4cf2cf5138ccdda64b1b1d665849b688686d"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "4.2.29"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "4.3.0"
                      },
                      {
                        "fixed": "4.3.17"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "4.4.0"
                      },
                      {
                        "fixed": "4.4.11"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:joinmastodon:mastodon:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "4.5.0"
                      },
                      {
                        "fixed": "4.5.4"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "0f4e8a6240b5af1f2c3f34d2793d8610c6ef2aca"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "17022907866710a72a1b1fc0a5ce9538bad1b4c3"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "71ae4cf2cf5138ccdda64b1b1d665849b688686d"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.5.3",
            "v4.2.28",
            "v4.3.16",
            "v4.4.10",
            "v4.5.2",
            "v4.4.9",
            "v4.3.15",
            "v4.2.27",
            "v4.5.1",
            "v4.5.0",
            "v4.4.8",
            "v4.3.14",
            "v4.4.7",
            "v4.4.6",
            "v4.4.5",
            "v4.2.26",
            "v4.3.13",
            "v4.2.25",
            "v4.3.12",
            "v4.4.4",
            "v4.3.11",
            "v4.2.24",
            "v4.4.3",
            "v4.2.23",
            "v4.3.10",
            "v4.4.2",
            "v4.4.1",
            "v4.4.0",
            "v4.3.9",
            "v4.2.22",
            "v4.2.21",
            "v4.3.8",
            "v4.3.7",
            "v4.2.20",
            "v4.2.19",
            "v4.3.6",
            "v4.2.18",
            "v4.3.5",
            "v4.3.4",
            "v4.2.17",
            "v4.2.16",
            "v4.3.3",
            "v4.2.15",
            "v4.2.14",
            "v4.3.2",
            "v4.3.1",
            "v4.3.0",
            "v4.2.13",
            "v4.2.12",
            "v4.2.11",
            "v4.2.10",
            "v4.2.9",
            "v4.2.8",
            "v4.2.7",
            "v4.2.6",
            "v4.2.5",
            "v4.2.4",
            "v4.2.3",
            "v4.2.2",
            "v4.2.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-22245.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.850192749Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22245.json",
        "https://github.com/mastodon/mastodon/security/advisories/GHSA-xfrj-c749-jxxq",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-22245",
        "https://github.com/mastodon/mastodon/commit/0f4e8a6240b5af1f2c3f34d2793d8610c6ef2aca",
        "https://github.com/mastodon/mastodon/commit/17022907866710a72a1b1fc0a5ce9538bad1b4c3",
        "https://github.com/mastodon/mastodon/commit/71ae4cf2cf5138ccdda64b1b1d665849b688686d"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22245.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-22245",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497960,
  "published_at": "2026-01-08T15:23:13.639+00:00"
}