{"api_version":"1","generated_at":"2026-04-23T07:00:24+00:00","cve":"CVE-2021-29431","urls":{"html":"https://cve.report/CVE-2021-29431","api":"https://cve.report/api/cve/CVE-2021-29431.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2021-29431","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2021-29431"},"summary":{"title":"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.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2021-04-15 21:15:00","updated_at":"2021-04-22 15:27:00"},"problem_types":["CWE-20","CWE-918"],"metrics":[],"references":[{"url":"https://github.com/matrix-org/sydent/commit/3d531ed50d2fd41ac387f36d44d3fb2c62dd22d3","name":"https://github.com/matrix-org/sydent/commit/3d531ed50d2fd41ac387f36d44d3fb2c62dd22d3","refsource":"MISC","tags":[],"title":"Add BlacklistingReactor · matrix-org/sydent@3d531ed · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/matrix-org/sydent/commit/0f00412017f25619bc36c264b29ea96808bf310a","name":"https://github.com/matrix-org/sydent/commit/0f00412017f25619bc36c264b29ea96808bf310a","refsource":"MISC","tags":[],"title":"Allow IPv6 literals as Matrix server names. · matrix-org/sydent@0f00412 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/matrix-org/sydent/releases/tag/v2.3.0","name":"https://github.com/matrix-org/sydent/releases/tag/v2.3.0","refsource":"MISC","tags":[],"title":"Release Sydent 2.3.0 (2021-04-15) · matrix-org/sydent · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://pypi.org/project/matrix-sydent/","name":"https://pypi.org/project/matrix-sydent/","refsource":"MISC","tags":[],"title":"matrix-sydent · PyPI","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/matrix-org/sydent/commit/8936925f561b0c352c2fa922d5097d7245aad00a","name":"https://github.com/matrix-org/sydent/commit/8936925f561b0c352c2fa922d5097d7245aad00a","refsource":"MISC","tags":[],"title":"Validate hostname in more places · matrix-org/sydent@8936925 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/matrix-org/sydent/commit/9e573348d81df8191bbe8c266c01999c9d57cd5f","name":"https://github.com/matrix-org/sydent/commit/9e573348d81df8191bbe8c266c01999c9d57cd5f","refsource":"MISC","tags":[],"title":"Rework hostname validation to make port checking stricter. · matrix-org/sydent@9e57334 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/matrix-org/sydent/security/advisories/GHSA-9jhm-8m8c-c3f4","name":"https://github.com/matrix-org/sydent/security/advisories/GHSA-9jhm-8m8c-c3f4","refsource":"CONFIRM","tags":[],"title":"SSRF due to missing validation of hostnames · Advisory · matrix-org/sydent · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2021-29431","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-29431","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2021","cve_id":"29431","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"matrix","cpe5":"sydent","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2021-29431","qid":"982747","title":"Python (pip) Security Update for matrix-sydent (GHSA-9jhm-8m8c-c3f4)"}]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"security-advisories@github.com","ID":"CVE-2021-29431","STATE":"PUBLIC","TITLE":"SSRF in Sydent due to missing validation of hostnames"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"sydent","version":{"version_data":[{"version_value":"< 2.3.0"}]}}]},"vendor_name":"matrix-org"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"impact":{"cvss":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.7,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"{\"CWE-20\":\"Improper Input Validation\"}"}]},{"description":[{"lang":"eng","value":"CWE-918 Server-Side Request Forgery (SSRF)"}]}]},"references":{"reference_data":[{"name":"https://pypi.org/project/matrix-sydent/","refsource":"MISC","url":"https://pypi.org/project/matrix-sydent/"},{"name":"https://github.com/matrix-org/sydent/releases/tag/v2.3.0","refsource":"MISC","url":"https://github.com/matrix-org/sydent/releases/tag/v2.3.0"},{"name":"https://github.com/matrix-org/sydent/security/advisories/GHSA-9jhm-8m8c-c3f4","refsource":"CONFIRM","url":"https://github.com/matrix-org/sydent/security/advisories/GHSA-9jhm-8m8c-c3f4"},{"name":"https://github.com/matrix-org/sydent/commit/9e573348d81df8191bbe8c266c01999c9d57cd5f","refsource":"MISC","url":"https://github.com/matrix-org/sydent/commit/9e573348d81df8191bbe8c266c01999c9d57cd5f"},{"name":"https://github.com/matrix-org/sydent/commit/8936925f561b0c352c2fa922d5097d7245aad00a","refsource":"MISC","url":"https://github.com/matrix-org/sydent/commit/8936925f561b0c352c2fa922d5097d7245aad00a"},{"name":"https://github.com/matrix-org/sydent/commit/3d531ed50d2fd41ac387f36d44d3fb2c62dd22d3","refsource":"MISC","url":"https://github.com/matrix-org/sydent/commit/3d531ed50d2fd41ac387f36d44d3fb2c62dd22d3"},{"name":"https://github.com/matrix-org/sydent/commit/0f00412017f25619bc36c264b29ea96808bf310a","refsource":"MISC","url":"https://github.com/matrix-org/sydent/commit/0f00412017f25619bc36c264b29ea96808bf310a"}]},"source":{"advisory":"GHSA-9jhm-8m8c-c3f4","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2021-04-15 21:15:00","lastModifiedDate":"2021-04-22 15:27:00","problem_types":["CWE-20","CWE-918"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM"},"exploitabilityScore":2.8,"impactScore":3.6},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:S/C:P/I:N/A:N","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"SINGLE","confidentialityImpact":"PARTIAL","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":4},"severity":"MEDIUM","exploitabilityScore":8,"impactScore":2.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:matrix:sydent:*:*:*:*:*:*:*:*","versionEndExcluding":"2.3.0","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2021","CveId":"29431","Ordinal":"204635","Title":"CVE-2021-29431","CVE":"CVE-2021-29431","Year":"2021"},"notes":[{"CveYear":"2021","CveId":"29431","Ordinal":"1","NoteData":"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.","Type":"Description","Title":null},{"CveYear":"2021","CveId":"29431","Ordinal":"2","NoteData":"2021-04-15","Type":"Other","Title":"Published"},{"CveYear":"2021","CveId":"29431","Ordinal":"3","NoteData":"2021-04-15","Type":"Other","Title":"Modified"}]}}}