Affected versions of uws
do not properly handle large websocket messages when permessage-deflate
is enabled, which may result in a denial of service condition.
If uws
recieves a 256Mb websocket message when permessage-deflate
is enabled, the server will compress the message prior to executing the length check, and subsequently extract the message prior to processing. This can result in a situation where an excessively large websocket message passes the length checks, yet still gets cast from a Buffer to a string, which will exceed v8's maximum string size and crash the process.
Update to version 0.10.9 or later.
Alternatively, disable permessage-deflate
.
{ "nvd_published_at": null, "cwe_ids": [ "CWE-400" ], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2020-08-31T18:12:32Z" }