{"id":"CVE-2021-29431","aliases":["EUVD-2021-0120","GHSA-9jhm-8m8c-c3f4","PYSEC-2021-22"],"status":"published","title":"SSRF in Sydent due to missing validation of hostnames","description":"Sydent is a reference Matrix identity server. Sydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting. It is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration. This issue has been addressed in in 9e57334, 8936925, 3d531ed, 0f00412. A potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.","severity":{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01194,"percentile":0.68283,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20","CWE-918"],"published":"2021-04-15T21:00:16Z","modified":"2026-10-20T10:54:37Z","fixes":[{"ecosystem":"PyPI","package":"matrix-sydent","fixed_in":["2.3.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"matrix-sydent","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.0"}]}]},{"source":"osv","ecosystem":"PyPI","package":"matrix-sydent","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.0"}]}],"versions":["2.0.0","2.0.1","2.1.0","2.2.0"]},{"source":"osv","ecosystem":"PyPI","package":"matrix-sydent","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"3d531ed50d2fd41ac387f36d44d3fb2c62dd22d3"},{"fixed":"0f00412017f25619bc36c264b29ea96808bf310a"},{"fixed":"9e573348d81df8191bbe8c266c01999c9d57cd5f"},{"fixed":"8936925f561b0c352c2fa922d5097d7245aad00a"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.0"}]}],"versions":["2.0.0","2.0.1","2.1.0","2.2.0"]}],"products":[{"vendor":"matrix","product":"sydent"},{"vendor":"matrix-org","product":"sydent"}],"references":[{"url":"https://pypi.org/project/matrix-sydent/","tags":["x_refsource_MISC","x_transferred","Product","Third Party Advisory","package"]},{"url":"https://github.com/matrix-org/sydent/releases/tag/v2.3.0","tags":["x_refsource_MISC","x_transferred","Release Notes","Third Party Advisory","advisory","web"]},{"url":"https://github.com/matrix-org/sydent/security/advisories/GHSA-9jhm-8m8c-c3f4","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web","advisory"]},{"url":"https://github.com/matrix-org/sydent/commit/9e573348d81df8191bbe8c266c01999c9d57cd5f","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/matrix-org/sydent/commit/8936925f561b0c352c2fa922d5097d7245aad00a","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/matrix-org/sydent/commit/3d531ed50d2fd41ac387f36d44d3fb2c62dd22d3","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/matrix-org/sydent/commit/0f00412017f25619bc36c264b29ea96808bf310a","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-29431","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/matrix-sydent/PYSEC-2021-22.yaml","tags":["web"]},{"url":"https://pypi.org/project/matrix-sydent","tags":["web"]},{"url":"https://github.com/advisories/GHSA-9jhm-8m8c-c3f4"},{"url":"https://github.com/matrix-org/sydent","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2021-29431","title":"SSRF in Sydent due to missing validation of hostnames","description":"Sydent is a reference Matrix identity server. Sydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting. It is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration. This issue has been addressed in in 9e57334, 8936925, 3d531ed, 0f00412. A potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.","status":"published","published":"2021-04-15T21:00:16Z","modified":"2024-08-03T22:02:51.856Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-20","CWE-918"],"updated_at":"2026-11-02T14:33:06.658806Z"}],"euvd":[{"id":"EUVD-2021-0120","description":"Sydent is a reference Matrix identity server. Sydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting. It is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration. This issue has been addressed in in 9e57334, 8936925, 3d531ed, 0f00412. A potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.","status":"published","published":"2021-04-15T21:00:16Z","modified":"2024-08-03T22:02:51Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-03T03:24:45.541615Z"}],"ghsa":[{"id":"GHSA-9jhm-8m8c-c3f4","title":"SSRF in Sydent due to missing validation of hostnames","description":"### Impact\n\nSydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting.\n\nIt is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration.\n\n### Patches\n\nFixed in 9e57334, 8936925, 3d531ed, 0f00412\n\n### Workarounds\n\nA potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.\n\n### For more information\n\nIf you have any questions or comments about this advisory, email us at security@matrix.org.","status":"published","published":"2021-04-19T14:54:15Z","modified":"2024-09-30T20:40:51Z","cvss":[{"version":"4.0","score":6.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N","level":"medium"},{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-20","CWE-918"],"updated_at":"2026-11-02T14:38:07.852618Z"}],"nvd":[{"id":"CVE-2021-29431","description":"Sydent is a reference Matrix identity server. Sydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting. It is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration. This issue has been addressed in in 9e57334, 8936925, 3d531ed, 0f00412. A potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.","status":"published","published":"2021-04-15T21:15:17.52Z","modified":"2026-06-17T03:47:37.687Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":4,"vector":"AV:N/AC:L/Au:S/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-20","CWE-918"],"updated_at":"2026-11-02T14:06:52.03307Z"}],"osv":[{"id":"CVE-2021-29431","description":"Sydent is a reference Matrix identity server. Sydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting. It is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration. This issue has been addressed in in 9e57334, 8936925, 3d531ed, 0f00412. A potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.","status":"published","published":"2021-04-15T21:15:17.52Z","modified":"2026-10-20T10:54:37.11777934Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:19.129331Z"},{"id":"GHSA-9jhm-8m8c-c3f4","title":"SSRF in Sydent due to missing validation of hostnames","description":"### Impact\n\nSydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting.\n\nIt is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration.\n\n### Patches\n\nFixed in 9e57334, 8936925, 3d531ed, 0f00412\n\n### Workarounds\n\nA potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.\n\n### For more information\n\nIf you have any questions or comments about this advisory, email us at security@matrix.org.","status":"published","published":"2021-04-19T14:54:15Z","modified":"2026-09-10T03:49:03.074179988Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high"},{"version":"4.0","score":6.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N","level":"medium"}],"cwes":["CWE-20","CWE-918"],"updated_at":"2026-11-02T15:46:43.875515Z"},{"id":"PYSEC-2021-22","description":"Sydent is a reference Matrix identity server. Sydent can be induced to send HTTP GET requests to internal systems, due to lack of parameter validation or IP address blacklisting. It is not possible to exfiltrate data or control request headers, but it might be possible to use the attack to perform an internal port enumeration. This issue has been addressed in in 9e57334, 8936925, 3d531ed, 0f00412. A potential workaround would be to use a firewall to ensure that Sydent cannot reach internal HTTP resources.","status":"published","published":"2021-04-15T21:15:00Z","modified":"2023-11-08T04:05:33.712503Z","updated_at":"2026-11-02T15:52:52.682031Z"}]}}
