{
  "@id": "urn:uuid:6e3fb67a-98dc-45be-967d-22488f2943d0",
  "role": "Document Creator",
  "author": "https://tuxcare.com",
  "version": 6,
  "@context": "https://openvex.dev/ns/v0.2.0",
  "timestamp": "2026-11-13T18:49:52.839323+00:00",
  "statements": [
    {
      "status": "fixed",
      "products": [
        {
          "@id": "pkg:npm/%40graphql-tools/executor-legacy-ws@0.0.11-tuxcare.1",
          "identifiers": {
            "purl": "pkg:npm/%40graphql-tools/executor-legacy-ws@0.0.11-tuxcare.1"
          }
        }
      ],
      "timestamp": "2026-10-27T14:58:48.871598+00:00",
      "status_notes": "Vulnerability CVE-2026-103921 is fixed in version 0.0.11-tuxcare.1 of @graphql-tools/executor-legacy-ws.",
      "vulnerability": {
        "name": "CVE-2026-103921"
      }
    },
    {
      "status": "not_affected",
      "products": [
        {
          "@id": "pkg:npm/%40graphql-tools/executor-legacy-ws@0.0.11-tuxcare.1",
          "identifiers": {
            "purl": "pkg:npm/%40graphql-tools/executor-legacy-ws@0.0.11-tuxcare.1"
          }
        }
      ],
      "timestamp": "2026-11-13T18:32:54.716359+00:00",
      "status_notes": "Vulnerability CVE-2026-118665 does not affect version 0.0.11-tuxcare.1 of @graphql-tools/executor-legacy-ws. Not affected: this version (@graphql-tools/executor-legacy-ws 0.0.11) is not vulnerable. Affected range: < 1.1.36 (fixed in @graphql-tools/executor-legacy-ws 1.1.36). Upstream fix: https://github.com/ardatan/graphql-tools/commit/c2f226e6f68236be9e4a577f29faeaa92547458b GHSA: https://github.com/ardatan/graphql-tools/security/advisories/GHSA-434m-5hcj-pxf3 (buildWSLegacyExecutor in packages/executors/legacy-ws/src/index.ts keeps request.extensions.connectionParams in the closure-scoped executorConnectionParams object, so a later request on the same executor sends an earlier caller's Authorization or tenant value in connection_init). Verification on this tree: * packages/executors/legacy-ws/src/index.ts builds the connection_init payload only from options.connectionParams (an object, or a function called on each socket open); `grep -n \"extensions\\|executorConnectionParams\" packages/executors/legacy-ws/src/index.ts` has no hits. * Per-request connectionParams were added upstream in commit 104921ffc (\"Read and use the connectionParams from operation extensions\"), first released in @graphql-tools/executor-legacy-ws 1.0.2. * PoC against a local legacy (graphql-ws protocol) server, executor with connectionParams { client: 'gateway' }: on 1.1.35 the later caller's connection_init carries the first caller's \"Authorization\": \"Bearer victim-token\"; on this tree both connection_init payloads are {\"client\":\"gateway\"}, because the request-level value is never sent. No code or test changes \u2026",
      "justification": "vulnerable_code_not_present",
      "vulnerability": {
        "name": "CVE-2026-118665"
      },
      "impact_statement": "Not affected: this version (@graphql-tools/executor-legacy-ws 0.0.11) is not vulnerable. Affected range: < 1.1.36 (fixed in @graphql-tools/executor-legacy-ws 1.1.36). Upstream fix: https://github.com/ardatan/graphql-tools/commit/c2f226e6f68236be9e4a577f29faeaa92547458b GHSA: https://github.com/ardatan/graphql-tools/security/advisories/GHSA-434m-5hcj-pxf3 (buildWSLegacyExecutor in packages/executors/legacy-ws/src/index.ts keeps request.extensions.connectionParams in the closure-scoped executorConnectionParams object, so a later request on the same executor sends an earlier caller's Authorization or tenant value in connection_init). Verification on this tree: * packages/executors/legacy-ws/src/index.ts builds the connection_init payload only from options.connectionParams (an object, or a function called on each socket open); `grep -n \"extensions\\|executorConnectionParams\" packages/executors/legacy-ws/src/index.ts` has no hits. * Per-request connectionParams were added upstream in commit 104921ffc (\"Read and use the connectionParams from operation extensions\"), first released in @graphql-tools/executor-legacy-ws 1.0.2. * PoC against a local legacy (graphql-ws protocol) server, executor with connectionParams { client: 'gateway' }: on 1.1.35 the later caller's connection_init carries the first caller's \"Authorization\": \"Bearer victim-token\"; on this tree both connection_init payloads are {\"client\":\"gateway\"}, because the request-level value is never sent. No code or test changes \u2026"
    },
    {
      "status": "affected",
      "products": [
        {
          "@id": "pkg:npm/%40graphql-tools/executor-legacy-ws@0.0.11-tuxcare.1",
          "identifiers": {
            "purl": "pkg:npm/%40graphql-tools/executor-legacy-ws@0.0.11-tuxcare.1"
          }
        }
      ],
      "timestamp": "2026-11-13T18:49:52.839323+00:00",
      "status_notes": "Vulnerability CVE-2026-118666 affects version 0.0.11-tuxcare.1 of @graphql-tools/executor-legacy-ws, and is fixed in 0.0.11-tuxcare.2.",
      "vulnerability": {
        "name": "CVE-2026-118666"
      },
      "action_statement": "Vulnerability CVE-2026-118666 affects version 0.0.11-tuxcare.1 of @graphql-tools/executor-legacy-ws, and is fixed in 0.0.11-tuxcare.2."
    }
  ]
}
