{"id":"RUSTSEC-2026-0415","summary":"Unbounded memory use on large request bodies","details":"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.","aliases":["GHSA-pfrg-qg4f-grmv"],"modified":"2026-10-29T14:15:02.336922588Z","published":"2026-10-28T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/juniper_hyper"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2026-0415.html"},{"type":"WEB","url":"https://github.com/graphql-rust/juniper/pull/1405"}],"affected":[{"package":{"name":"juniper_hyper","ecosystem":"crates.io","purl":"pkg:cargo/juniper_hyper"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.10.1"}]}],"ecosystem_specific":{"affects":{"functions":[],"arch":[],"os":[]},"affected_functions":null},"database_specific":{"informational":null,"categories":["denial-of-service"],"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0415.json","cvss":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}