{"id":"CVE-2021-21392","aliases":["DEBIAN-CVE-2021-21392","EUVD-2021-0128","GHSA-5wrh-4jwv-5w78","PYSEC-2021-25","UBUNTU-CVE-2021-21392"],"status":"published","title":"Open redirect via transitional IPv6 addresses on dual-stack networks","description":"Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks. See referenced GitHub security advisory for details and workarounds.","severity":{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00944,"percentile":0.6149,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-601"],"published":"2021-04-12T21:50:14Z","modified":"2026-10-20T10:53:33Z","fixes":[{"ecosystem":"PyPI","package":"matrix-synapse","fixed_in":["1.28.0rc1","1.28.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.28.0rc1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.28.0rc1"}]}],"versions":["0.33.5","0.33.5.1","0.33.6","0.33.6rc1","0.33.7","0.33.7rc1","0.33.7rc2","0.33.8","0.33.8rc2","0.33.9","0.34.0","0.34.0.1","0.34.0rc1","0.34.0rc2","0.34.1.1","0.99.0","0.99.0rc1","0.99.0rc2","0.99.0rc3","0.99.0rc4","0.99.1","0.99.1.1","0.99.1rc1","0.99.1rc2","0.99.2","0.99.2rc1","0.99.3","0.99.3.1","0.99.3.2","0.99.3rc1","0.99.4","0.99.4rc1","0.99.5","0.99.5.1","0.99.5.2","0.99.5rc1","1.0.0","1.0.0rc1","1.0.0rc2","1.0.0rc3","1.1.0","1.1.0rc1","1.1.0rc2","1.10.0","1.10.0rc1","1.10.0rc2","1.10.0rc3","1.10.0rc5","1.10.1","1.11.0","1.11.0rc1","1.11.1","1.12.0","1.12.0rc1","1.12.1","1.12.1rc1","1.12.2","1.12.3","1.12.4","1.12.4rc1","1.13.0","1.13.0rc1","1.13.0rc2","1.13.0rc3","1.14.0","1.14.0rc1","1.14.0rc2","1.15.0","1.15.0rc1","1.15.1","1.15.2","1.16.0","1.16.0rc1","1.16.0rc2","1.16.1","1.17.0","1.17.0rc1","1.18.0","1.18.0rc1","1.18.0rc2","1.19.0","1.19.0rc1","1.19.1","1.19.1rc1","1.19.2","1.19.3","1.2.0","1.2.0rc1","1.2.0rc2","1.2.1","1.20.0","1.20.0rc1","1.20.0rc2","1.20.0rc3","1.20.0rc4","1.20.0rc5","1.20.1","1.21.0","1.21.0rc1","1.21.0rc2","1.21.0rc3","1.21.1","1.21.2","1.22.0","1.22.0rc1","1.22.0rc2","1.22.1","1.23.0","1.23.0rc1","1.23.1","1.24.0","1.24.0rc1","1.24.0rc2","1.25.0","1.25.0rc1","1.26.0","1.26.0rc1","1.26.0rc2","1.27.0","1.27.0rc1","1.27.0rc2","1.3.0","1.3.0rc1","1.3.1","1.4.0","1.4.0rc1","1.4.0rc2","1.4.1","1.4.1rc1","1.5.0","1.5.0rc1","1.5.0rc2","1.5.1","1.6.0","1.6.0rc1","1.6.0rc2","1.6.1","1.7.0","1.7.0rc1","1.7.0rc2","1.7.1","1.7.2","1.7.3","1.8.0","1.8.0rc1","1.9.0","1.9.0.dev1","1.9.0.dev2","1.9.0rc1","1.9.1"]},{"source":"osv","ecosystem":"PyPI","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.28.0"}]}],"versions":["0.33.5","0.33.5.1","0.33.6rc1","0.33.6","0.33.7rc1","0.33.7rc2","0.33.7","0.33.8rc2","0.33.8","0.33.9","0.34.0rc1","0.34.0rc2","0.34.0","0.34.0.1","0.34.1.1","0.99.0rc1","0.99.0rc2","0.99.0rc3","0.99.0rc4","0.99.0","0.99.1rc1","0.99.1rc2","0.99.1","0.99.1.1","0.99.2rc1","0.99.2","0.99.3rc1","0.99.3","0.99.3.1","0.99.3.2","0.99.4rc1","0.99.4","0.99.5rc1","0.99.5","0.99.5.1","0.99.5.2","1.0.0rc1","1.0.0rc2","1.0.0rc3","1.0.0","1.1.0rc1","1.1.0rc2","1.1.0","1.2.0rc1","1.2.0rc2","1.2.0","1.2.1","1.3.0rc1","1.3.0","1.3.1","1.4.0rc1","1.4.0rc2","1.4.0","1.4.1rc1","1.4.1","1.5.0rc1","1.5.0rc2","1.5.0","1.5.1","1.6.0rc1","1.6.0rc2","1.6.0","1.6.1","1.7.0rc1","1.7.0rc2","1.7.0","1.7.1","1.7.2","1.7.3","1.8.0rc1","1.8.0","1.9.0.dev1","1.9.0.dev2","1.9.0rc1","1.9.0","1.9.1","1.10.0rc1","1.10.0rc2","1.10.0rc3","1.10.0rc5","1.10.0","1.10.1","1.11.0rc1","1.11.0","1.11.1","1.12.0rc1","1.12.0","1.12.1rc1","1.12.1","1.12.2","1.12.3","1.12.4rc1","1.12.4","1.13.0rc1","1.13.0rc2","1.13.0rc3","1.13.0","1.14.0rc1","1.14.0rc2","1.14.0","1.15.0rc1","1.15.0","1.15.1","1.15.2","1.16.0rc1","1.16.0rc2","1.16.0","1.16.1","1.17.0rc1","1.17.0","1.18.0rc1","1.18.0rc2","1.18.0","1.19.0rc1","1.19.0","1.19.1rc1","1.19.1","1.19.2","1.19.3","1.20.0rc1","1.20.0rc2","1.20.0rc3","1.20.0rc4","1.20.0rc5","1.20.0","1.20.1","1.21.0rc1","1.21.0rc2","1.21.0rc3","1.21.0","1.21.1","1.21.2","1.22.0rc1","1.22.0rc2","1.22.0","1.22.1","1.23.0rc1","1.23.0","1.23.1","1.24.0rc1","1.24.0rc2","1.24.0","1.25.0rc1","1.25.0","1.26.0rc1","1.26.0rc2","1.26.0","1.27.0rc1","1.27.0rc2","1.27.0","1.28.0rc1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.19.2+dfsg-6","0.24.0+dfsg-1","0.24.0+dfsg-1ubuntu0.1~esm1","0.24.0+dfsg-1ubuntu0.1~esm4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-1","1.4.0-1","1.5.0-1","1.5.1-1","1.6.0-1","1.6.1-1","1.7.0-2","1.7.1-1","1.7.2-1","1.7.3-1","1.8.0-1","1.9.0-1","1.9.1-1","1.10.0-1","1.10.0-2","1.11.0-1","1.11.0-1ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"matrix-synapse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.39.0-1","1.47.0-2","1.47.1-1","1.48.0-1","1.49.0-1","1.49.2-1","1.50.1-1","1.50.2-1","1.51.0-1","1.52.0-1","1.53.0-1","1.53.0-1ubuntu0.1~esm2"]}],"products":[{"vendor":"element-hq","product":"synapse"},{"vendor":"fedoraproject","product":"fedora"},{"vendor":"matrix","product":"synapse"},{"vendor":"matrix-org","product":"synapse"}],"references":[{"url":"https://pypi.org/project/matrix-synapse/","tags":["x_refsource_MISC","x_transferred","Product","Third Party Advisory","package","report"]},{"url":"https://github.com/matrix-org/synapse/security/advisories/GHSA-5wrh-4jwv-5w78","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web","advisory","report"]},{"url":"https://github.com/matrix-org/synapse/pull/9240","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TNNAJOZNMVMXM6AS7RFFKB4QLUJ4IFEY/","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-21392","tags":["advisory"]},{"url":"https://github.com/matrix-org/synapse/commit/4ca054a4eaa714d0befb4fc30b19a1131e52c9cc","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2021-25.yaml","tags":["web"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TNNAJOZNMVMXM6AS7RFFKB4QLUJ4IFEY","tags":["web"]},{"url":"https://pypi.org/project/matrix-synapse","tags":["web"]},{"url":"https://github.com/advisories/GHSA-5wrh-4jwv-5w78"},{"url":"https://security-tracker.debian.org/tracker/CVE-2021-21392","tags":["advisory"]},{"url":"https://github.com/matrix-org/synapse","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2021-21392","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-21392","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2021-21392","title":"Open redirect via transitional IPv6 addresses on dual-stack networks","description":"Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks. See referenced GitHub security advisory for details and workarounds.","status":"published","published":"2021-04-12T21:50:14Z","modified":"2024-08-03T18:09:15.93Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T14:33:00.488332Z"}],"euvd":[{"id":"EUVD-2021-0128","description":"Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks. See referenced GitHub security advisory for details and workarounds.","status":"published","published":"2021-04-12T21:50:14Z","modified":"2024-08-03T18:09:15Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium"}],"updated_at":"2026-11-03T03:25:06.913643Z"}],"ghsa":[{"id":"GHSA-5wrh-4jwv-5w78","title":"Open redirect via transitional IPv6 addresses on dual-stack networks","description":"### Impact\nRequests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks.\n\n### Patches\nThis issue is fixed by #9240.\n\n### Workarounds\nOutbound requests to the following address ranges can be blocked by a firewall, if unused for internal communication between systems:\n\n* `::ffff/80`\n* `::0000/80` (note that this IP range is considered deprecated by the IETF)\n* `2002::/16` (note that this IP range is considered deprecated by the IETF)\n\n### References\n* [RFC3056](https://tools.ietf.org/html/rfc3056)\n* [RFC4291](https://tools.ietf.org/html/rfc4291)","status":"published","published":"2021-04-13T15:13:08Z","modified":"2024-09-30T20:28:21Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"},{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T14:38:07.852618Z"}],"nvd":[{"id":"CVE-2021-21392","description":"Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks. See referenced GitHub security advisory for details and workarounds.","status":"published","published":"2021-04-12T22:15:13.147Z","modified":"2026-06-17T03:35:28.643Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4.9,"vector":"AV:N/AC:M/Au:S/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T14:06:51.610648Z"}],"osv":[{"id":"CVE-2021-21392","description":"Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks. See referenced GitHub security advisory for details and workarounds.","status":"published","published":"2021-04-12T22:15:13.147Z","modified":"2026-10-20T10:53:33.864211728Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:18.004149Z"},{"id":"DEBIAN-CVE-2021-21392","description":"Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks. See referenced GitHub security advisory for details and workarounds.","status":"withdrawn","published":"2021-04-12T22:15:13.147Z","modified":"2026-08-11T20:49:52.457951819Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:34.637046Z"},{"id":"GHSA-5wrh-4jwv-5w78","title":"Open redirect via transitional IPv6 addresses on dual-stack networks","description":"### Impact\nRequests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks.\n\n### Patches\nThis issue is fixed by #9240.\n\n### Workarounds\nOutbound requests to the following address ranges can be blocked by a firewall, if unused for internal communication between systems:\n\n* `::ffff/80`\n* `::0000/80` (note that this IP range is considered deprecated by the IETF)\n* `2002::/16` (note that this IP range is considered deprecated by the IETF)\n\n### References\n* [RFC3056](https://tools.ietf.org/html/rfc3056)\n* [RFC4291](https://tools.ietf.org/html/rfc4291)","status":"published","published":"2021-04-13T15:13:08Z","modified":"2026-07-08T06:28:51.474360522Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium"},{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T15:46:38.911014Z"},{"id":"UBUNTU-CVE-2021-21392","description":"Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks. See referenced GitHub security advisory for details and workarounds.","status":"published","published":"2021-04-12T22:15:00Z","modified":"2025-10-24T04:50:06Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium"},{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:26.29421Z"},{"id":"PYSEC-2021-25","description":"Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.28.0 requests to user provided domains were not restricted to external IP addresses when transitional IPv6 addresses were used. Outbound requests to federation, identity servers, when calculating the key validity for third-party invite events, sending push notifications, and generating URL previews are affected. This could cause Synapse to make requests to internal infrastructure on dual-stack networks. See referenced GitHub security advisory for details and workarounds.","status":"published","published":"2021-04-12T22:15:00Z","modified":"2023-11-08T04:04:44.343565Z","updated_at":"2026-11-02T15:52:52.682031Z"}]}}
