{"id":"GHSA-pfrg-qg4f-grmv","aliases":["RUSTSEC-2026-0415"],"status":"published","title":"Unbounded memory use on large request bodies","description":"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.\n\n`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.","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","from":"osv"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2026-10-28T12:00:00Z","modified":"2026-10-29T14:15:02Z","fixes":[{"ecosystem":"crates.io","package":"juniper_hyper","fixed_in":["0.10.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"crates.io","package":"juniper_hyper","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.10.1"}]}]}],"references":[{"url":"https://crates.io/crates/juniper_hyper","tags":["package"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0415.html","tags":["advisory"]},{"url":"https://github.com/graphql-rust/juniper/pull/1405","tags":["web"]}],"sources":{"osv":[{"id":"RUSTSEC-2026-0415","title":"Unbounded memory use on large request bodies","description":"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.\n\n`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.","status":"published","published":"2026-10-28T12:00:00Z","modified":"2026-10-29T14:15:02.336922588Z","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:40.430679Z"}]}}
