The vulnerability lies in the handling of responses from web push services within the web-push crate. Specifically, the send methods in the built-in hyper and isahc clients were susceptible to a denial-of-service attack. The root cause was that both implementations blindly trusted the Content-Length header returned by the push service. The code would parse this header and immediately attempt to allocate a memory buffer of the specified size to hold the response body. An attacker, or a compromised push service, could return a response with an extremely large Content-Length value. This would trigger a massive memory allocation on the client-side, exhausting available memory and causing the application to crash, resulting in a denial of service. The patch addresses this by removing the code that trusts Content-Length. Instead, it reads the response body in chunks and enforces a hard-coded maximum size limit (MAX_RESPONSE_SIZE), preventing excessive memory allocation.