High, CVSS 7.5crates.ioPublished
Unbounded memory use on large request bodies
GHSA-pfrg-qg4f-grmv
- Affected
- crates.io juniper_hyper >= 0.0.0-0, < 0.10.1
- Fixed in
- 0.10.1· Vendor fix available
- Issue
- The `graphql()` and `graphql_sync()` functions of `juniper_hyper` read the whole body of a POST request into memory before they parsed the body. The functions had no limit on the size of the body. A client could thus send a large body and exhaust the memory of the server. The request needs no authentication. `juniper_hyper` 0.10.1 reads at most 2 MiB of a request body by default. The functions respond with `413 Payload Too Large` to larger bodies. A `juniper_hyper::BodyLimit` in the extensions of a request changes the limit for the request.
Recommended action: Upgrade to 0.10.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.