{"id":"GHSA-fj3h-2jc3-973v","aliases":["RUSTSEC-2026-0419"],"status":"published","title":"Unbounded memory use on large request bodies","description":"The `make_graphql_filter()` and `make_graphql_filter_sync()` filters of `juniper_warp` read the whole body of a POST request into memory before they parsed the body. The filters 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_warp` 0.9.1 reads at most 2 MiB of a request body by default. The filters respond with `413 Payload Too Large` to larger bodies. `make_graphql_filter_with_body_limit()` and `make_graphql_filter_sync_with_body_limit()` set another limit.","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-29T12:00:00Z","modified":"2026-10-29T14:15:02Z","fixes":[{"ecosystem":"crates.io","package":"juniper_warp","fixed_in":["0.9.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"crates.io","package":"juniper_warp","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.9.1"}]}]}],"references":[{"url":"https://crates.io/crates/juniper_warp","tags":["package"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0419.html","tags":["advisory"]},{"url":"https://github.com/graphql-rust/juniper/pull/1406","tags":["web"]}],"sources":{"osv":[{"id":"RUSTSEC-2026-0419","title":"Unbounded memory use on large request bodies","description":"The `make_graphql_filter()` and `make_graphql_filter_sync()` filters of `juniper_warp` read the whole body of a POST request into memory before they parsed the body. The filters 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_warp` 0.9.1 reads at most 2 MiB of a request body by default. The filters respond with `413 Payload Too Large` to larger bodies. `make_graphql_filter_with_body_limit()` and `make_graphql_filter_sync_with_body_limit()` set another limit.","status":"published","published":"2026-10-29T12:00:00Z","modified":"2026-10-29T14:15:02.334799134Z","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"}]}}
