ghsa-4mhg-xv73-xq2x
Vulnerability from github
8.7 (High) - 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
Impact
Synapse versions before 1.106 are vulnerable to a disk fill attack, where an unauthenticated adversary can induce Synapse to download and cache large amounts of remote media. The default rate limit strategy is insufficient to mitigate this. This can lead to a denial of service, ranging from further media uploads/downloads failing to completely unavailability of the Synapse process, depending on how Synapse was deployed.
Patches
Synapse 1.106 introduces a new "leaky bucket" rate limit on remote media downloads to reduce the amount of data a user can request at a time. This does not fully address the issue, but does limit an unauthenticated user's ability to request large amounts of data to be cached.
Workarounds
Synapse deployments can currently decrease the maximum file size allowed, as well as increase request rate limits. However, this does not as effectively address the issue as a dedicated rate limit on remote media downloads.
Server operators may also wish to consider putting media on a dedicated disk or volume, reducing the impact of a disk fill condition.
References
- https://en.wikipedia.org/wiki/Leaky_bucket#As_a_meter
For more information
If you have any questions or comments about this advisory, please email us at security at element.io.
{ "affected": [ { "package": { "ecosystem": "PyPI", "name": "matrix-synapse" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "1.106" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2024-37302" ], "database_specific": { "cwe_ids": [ "CWE-770" ], "github_reviewed": true, "github_reviewed_at": "2024-12-03T18:39:12Z", "nvd_published_at": "2024-12-03T17:15:10Z", "severity": "HIGH" }, "details": "### Impact\n\nSynapse versions before 1.106 are vulnerable to a disk fill attack, where an unauthenticated adversary can induce Synapse to download and cache large amounts of remote media. The default rate limit strategy is insufficient to mitigate this. This can lead to a denial of service, ranging from further media uploads/downloads failing to completely unavailability of the Synapse process, depending on how Synapse was deployed.\n\n### Patches\n\nSynapse 1.106 introduces a new \"leaky bucket\" rate limit on remote media downloads to reduce the amount of data a user can request at a time. This does not fully address the issue, but does limit an unauthenticated user\u0027s ability to request large amounts of data to be cached.\n\n### Workarounds\n\nSynapse deployments can currently decrease the maximum file size allowed, as well as increase request rate limits. However, this does not as effectively address the issue as a dedicated rate limit on remote media downloads.\n\nServer operators may also wish to consider putting media on a dedicated disk or volume, reducing the impact of a disk fill condition.\n\n### References\n\n* https://en.wikipedia.org/wiki/Leaky_bucket#As_a_meter\n\n### For more information\n\nIf you have any questions or comments about this advisory, please email us at [security at element.io](mailto:security@element.io).", "id": "GHSA-4mhg-xv73-xq2x", "modified": "2024-12-03T18:39:13Z", "published": "2024-12-03T18:39:12Z", "references": [ { "type": "WEB", "url": "https://github.com/element-hq/synapse/security/advisories/GHSA-4mhg-xv73-xq2x" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2024-37302" }, { "type": "PACKAGE", "url": "https://github.com/element-hq/synapse" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "type": "CVSS_V3" }, { "score": "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", "type": "CVSS_V4" } ], "summary": "Synapse denial of service through media disk space consumption" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.