{"id":"CVE-2021-29430","aliases":["EUVD-2021-0119","GHSA-wmg4-8cp2-hpg9","PYSEC-2021-21"],"status":"published","title":"Denial of service attack via memory exhaustion","description":"Sydent is a reference Matrix identity server. Sydent does not limit the size of requests it receives from HTTP clients. A malicious user could send an HTTP request with a very large body, leading to memory exhaustion and denial of service. Sydent also does not limit response size for requests it makes to remote Matrix homeservers. A malicious homeserver could return a very large response, again leading to memory exhaustion and denial of service. This affects any server which accepts registration requests from untrusted clients. This issue has been patched by releases 89071a1, 0523511, f56eee3. As a workaround request sizes can be limited in an HTTP reverse-proxy. There are no known workarounds for the problem with overlarge responses.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01833,"percentile":0.79085,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20","CWE-400","CWE-770"],"published":"2021-04-15T20:35:19Z","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":"0523511d2fb40f2738f8a8549868f44b96e5dab7"},{"fixed":"89071a1a754c69a50deac89e6bb74002d4cda19d"},{"fixed":"f56eee315b6c44fdd9f6aa785cc2ec744a594428"}]},{"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/security/advisories/GHSA-wmg4-8cp2-hpg9","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","fix","web","advisory"]},{"url":"https://github.com/matrix-org/sydent/commit/89071a1a754c69a50deac89e6bb74002d4cda19d","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/matrix-org/sydent/commit/0523511d2fb40f2738f8a8549868f44b96e5dab7","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/matrix-org/sydent/commit/f56eee315b6c44fdd9f6aa785cc2ec744a594428","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"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://nvd.nist.gov/vuln/detail/CVE-2021-29430","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/matrix-sydent/PYSEC-2021-21.yaml","tags":["web"]},{"url":"https://pypi.org/project/matrix-sydent","tags":["web"]},{"url":"https://github.com/advisories/GHSA-wmg4-8cp2-hpg9"},{"url":"https://github.com/matrix-org/sydent","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2021-29430","title":"Denial of service attack via memory exhaustion","description":"Sydent is a reference Matrix identity server. Sydent does not limit the size of requests it receives from HTTP clients. A malicious user could send an HTTP request with a very large body, leading to memory exhaustion and denial of service. Sydent also does not limit response size for requests it makes to remote Matrix homeservers. A malicious homeserver could return a very large response, again leading to memory exhaustion and denial of service. This affects any server which accepts registration requests from untrusted clients. This issue has been patched by releases 89071a1, 0523511, f56eee3. As a workaround request sizes can be limited in an HTTP reverse-proxy. There are no known workarounds for the problem with overlarge responses.","status":"published","published":"2021-04-15T20:35:19Z","modified":"2024-08-03T22:02:51.883Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-20","CWE-400"],"updated_at":"2026-11-02T14:33:06.658806Z"}],"euvd":[{"id":"EUVD-2021-0119","description":"Sydent is a reference Matrix identity server. Sydent does not limit the size of requests it receives from HTTP clients. A malicious user could send an HTTP request with a very large body, leading to memory exhaustion and denial of service. Sydent also does not limit response size for requests it makes to remote Matrix homeservers. A malicious homeserver could return a very large response, again leading to memory exhaustion and denial of service. This affects any server which accepts registration requests from untrusted clients. This issue has been patched by releases 89071a1, 0523511, f56eee3. As a workaround request sizes can be limited in an HTTP reverse-proxy. There are no known workarounds for the problem with overlarge responses.","status":"published","published":"2021-04-15T20:35:19Z","modified":"2024-08-03T22:02:51Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-03T03:24:45.541615Z"}],"ghsa":[{"id":"GHSA-wmg4-8cp2-hpg9","title":"Sydent vulnerable to denial of service attack via memory exhaustion","description":"### Impact\n\nSydent does not limit the size of requests it receives from HTTP clients. A malicious user could send an HTTP request with a very large body, leading to disk space exhaustion and denial of service.\n\nSydent also does not limit response size for requests it makes to remote Matrix homeservers. A malicious homeserver could return a very large response, again leading to memory exhaustion and denial of service.\n\nThis affects any server which accepts registration requests from untrusted clients.\n\n### Patches\n\nPatched by 89071a1, 0523511, f56eee3.\n\n### Workarounds\n\nRequest sizes can be limited in an HTTP reverse-proxy.\n\nThere are no known workarounds for the problem with overlarge responses.\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:04Z","modified":"2024-09-24T15:43:45Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-20","CWE-400","CWE-770"],"updated_at":"2026-11-02T14:38:05.526697Z"}],"nvd":[{"id":"CVE-2021-29430","description":"Sydent is a reference Matrix identity server. Sydent does not limit the size of requests it receives from HTTP clients. A malicious user could send an HTTP request with a very large body, leading to memory exhaustion and denial of service. Sydent also does not limit response size for requests it makes to remote Matrix homeservers. A malicious homeserver could return a very large response, again leading to memory exhaustion and denial of service. This affects any server which accepts registration requests from untrusted clients. This issue has been patched by releases 89071a1, 0523511, f56eee3. As a workaround request sizes can be limited in an HTTP reverse-proxy. There are no known workarounds for the problem with overlarge responses.","status":"published","published":"2021-04-15T21:15:17.413Z","modified":"2026-06-17T03:47:37.55Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-20","CWE-400","CWE-770"],"updated_at":"2026-11-02T14:06:52.03307Z"}],"osv":[{"id":"CVE-2021-29430","description":"Sydent is a reference Matrix identity server. Sydent does not limit the size of requests it receives from HTTP clients. A malicious user could send an HTTP request with a very large body, leading to memory exhaustion and denial of service. Sydent also does not limit response size for requests it makes to remote Matrix homeservers. A malicious homeserver could return a very large response, again leading to memory exhaustion and denial of service. This affects any server which accepts registration requests from untrusted clients. This issue has been patched by releases 89071a1, 0523511, f56eee3. As a workaround request sizes can be limited in an HTTP reverse-proxy. There are no known workarounds for the problem with overlarge responses.","status":"published","published":"2021-04-15T21:15:17.413Z","modified":"2026-10-20T10:54:37.13523115Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:19.129331Z"},{"id":"GHSA-wmg4-8cp2-hpg9","title":"Sydent vulnerable to denial of service attack via memory exhaustion","description":"### Impact\n\nSydent does not limit the size of requests it receives from HTTP clients. A malicious user could send an HTTP request with a very large body, leading to disk space exhaustion and denial of service.\n\nSydent also does not limit response size for requests it makes to remote Matrix homeservers. A malicious homeserver could return a very large response, again leading to memory exhaustion and denial of service.\n\nThis affects any server which accepts registration requests from untrusted clients.\n\n### Patches\n\nPatched by 89071a1, 0523511, f56eee3.\n\n### Workarounds\n\nRequest sizes can be limited in an HTTP reverse-proxy.\n\nThere are no known workarounds for the problem with overlarge responses.\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:04Z","modified":"2026-09-10T03:49:26.904044812Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"},{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-20","CWE-400","CWE-770"],"updated_at":"2026-11-02T15:46:58.767335Z"},{"id":"PYSEC-2021-21","description":"Sydent is a reference Matrix identity server. Sydent does not limit the size of requests it receives from HTTP clients. A malicious user could send an HTTP request with a very large body, leading to memory exhaustion and denial of service. Sydent also does not limit response size for requests it makes to remote Matrix homeservers. A malicious homeserver could return a very large response, again leading to memory exhaustion and denial of service. This affects any server which accepts registration requests from untrusted clients. This issue has been patched by releases 89071a1, 0523511, f56eee3. As a workaround request sizes can be limited in an HTTP reverse-proxy. There are no known workarounds for the problem with overlarge responses.","status":"published","published":"2021-04-15T21:15:00Z","modified":"2023-11-08T04:05:33.65153Z","updated_at":"2026-11-02T15:52:52.682031Z"}]}}
