Search

Find a vulnerability

Search criteria

    Related vulnerabilities

    RUSTSEC-2026-0419 (GHSA-FJ3H-2JC3-973V)

    Vulnerability from osv_rustsec – Published: 2026-10-29 12:00 – Updated: 2026-10-29 14:05 – Source website
    VLAI
    Summary
    Unbounded memory use on large request bodies
    Details

    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.

    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.


    {
      "affected": [
        {
          "database_specific": {
            "categories": [
              "denial-of-service"
            ],
            "cvss": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
            "informational": null
          },
          "ecosystem_specific": {
            "affected_functions": null,
            "affects": {
              "arch": [],
              "functions": [],
              "os": []
            }
          },
          "package": {
            "ecosystem": "crates.io",
            "name": "juniper_warp",
            "purl": "pkg:cargo/juniper_warp"
          },
          "ranges": [
            {
              "events": [
                {
                  "introduced": "0.0.0-0"
                },
                {
                  "fixed": "0.9.1"
                }
              ],
              "type": "SEMVER"
            }
          ],
          "versions": []
        }
      ],
      "aliases": [
        "GHSA-fj3h-2jc3-973v"
      ],
      "database_specific": {
        "license": "CC0-1.0"
      },
      "details": "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.",
      "id": "RUSTSEC-2026-0419",
      "modified": "2026-10-29T14:05:38Z",
      "published": "2026-10-29T12:00:00Z",
      "references": [
        {
          "type": "PACKAGE",
          "url": "https://crates.io/crates/juniper_warp"
        },
        {
          "type": "ADVISORY",
          "url": "https://rustsec.org/advisories/RUSTSEC-2026-0419.html"
        },
        {
          "type": "WEB",
          "url": "https://github.com/graphql-rust/juniper/pull/1406"
        }
      ],
      "related": [],
      "severity": [
        {
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "type": "CVSS_V3"
        }
      ],
      "summary": "Unbounded memory use on large request bodies"
    }