{"id":"CVE-2020-35896","aliases":["EUVD-2021-1868","GHSA-rh7x-ppxx-p34c","RUSTSEC-2020-0043"],"status":"published","title":"Insufficient size checks in ws","description":"An issue was discovered in the ws crate through 2020-09-25 for Rust. The outgoing buffer is not properly limited, leading to a remote memory-consumption attack.","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":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.01352,"percentile":0.71754,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-400","CWE-770"],"published":"2020-09-25T12:00:00Z","modified":"2026-10-24T10:30:15Z","affected":[{"source":"ghsa","ecosystem":"crates.io","package":"ws","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.9.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"ws","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.9.1"}]}]},{"source":"osv","ecosystem":"crates.io","package":"ws","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"}]}]}],"products":[{"vendor":"ws-rs_project","product":"ws-rs"}],"references":[{"url":"https://rustsec.org/advisories/RUSTSEC-2020-0043.html","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-35896","tags":["advisory"]},{"url":"https://github.com/housleyjk/ws-rs/issues/291","tags":["web","report"]},{"url":"https://github.com/advisories/GHSA-rh7x-ppxx-p34c"},{"url":"https://github.com/housleyjk/ws-rs","tags":["package"]},{"url":"https://crates.io/crates/ws","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2020-35896","description":"An issue was discovered in the ws crate through 2020-09-25 for Rust. The outgoing buffer is not properly limited, leading to a remote memory-consumption attack.","status":"published","published":"2020-12-31T08:23:25Z","modified":"2024-08-04T17:16:13.175Z","updated_at":"2026-11-02T14:35:57.975444Z"}],"euvd":[{"id":"EUVD-2021-1868","description":"An issue was discovered in the ws crate through 2020-09-25 for Rust. The outgoing buffer is not properly limited, leading to a remote memory-consumption attack.","status":"published","published":"2020-12-31T08:23:25Z","modified":"2024-08-04T17:16:13Z","updated_at":"2026-11-03T03:07:04.065361Z"}],"ghsa":[{"id":"GHSA-rh7x-ppxx-p34c","title":"Insufficient size checks in ws","description":"An issue was discovered in the ws crate through 2020-09-25 for Rust. The outgoing buffer is not properly limited, leading to a remote memory-consumption attack.","status":"published","published":"2021-08-25T20:49:32Z","modified":"2023-01-29T05:07:50Z","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"}],"cwes":["CWE-400","CWE-770"],"updated_at":"2026-11-02T14:36:26.667347Z"}],"nvd":[{"id":"CVE-2020-35896","description":"An issue was discovered in the ws crate through 2020-09-25 for Rust. The outgoing buffer is not properly limited, leading to a remote memory-consumption attack.","status":"published","published":"2020-12-31T10:15:17.097Z","modified":"2026-06-17T03:14:33.52Z","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":"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-770"],"updated_at":"2026-11-02T14:06:28.340168Z"}],"osv":[{"id":"CVE-2020-35896","description":"An issue was discovered in the ws crate through 2020-09-25 for Rust. The outgoing buffer is not properly limited, leading to a remote memory-consumption attack.","status":"published","published":"2020-12-31T10:15:17.097Z","modified":"2026-10-24T10:30:15.458271614Z","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:16.612899Z"},{"id":"GHSA-rh7x-ppxx-p34c","title":"Insufficient size checks in ws","description":"An issue was discovered in the ws crate through 2020-09-25 for Rust. The outgoing buffer is not properly limited, leading to a remote memory-consumption attack.","status":"published","published":"2021-08-25T20:49:32Z","modified":"2023-11-08T04:03:38.052797Z","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"}],"cwes":["CWE-400","CWE-770"],"updated_at":"2026-11-02T15:46:55.877614Z"},{"id":"RUSTSEC-2020-0043","title":"Insufficient size checks in outgoing buffer in ws allows remote attacker to run the process out of memory","description":"Affected versions of this crate did not properly check and cap the growth of the outgoing buffer.\n\nThis allows a remote attacker to take down the process by growing the buffer of their (single) connection until the process runs out of memory it can allocate and is killed.\n\nThe flaw was corrected in the [`parity-ws` fork](https://crates.io/crates/parity-ws) (\u003e=0.10.0) by [disconnecting a client when the buffer runs full](https://github.com/housleyjk/ws-rs/pull/328).","status":"published","published":"2020-09-25T12:00:00Z","modified":"2023-11-08T04:03:38.052797Z","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:53:39.492624Z"}]}}
