Skip to content

Cache variables with the operations when transforms exist on the root level even if variables change in the further requests with the same operation

High severity GitHub Reviewed Published Oct 9, 2023 in ardatan/graphql-mesh • Updated Oct 10, 2023

Package

npm @graphql-mesh/runtime (npm)

Affected versions

>= 0.96.5, < 0.96.9

Patched versions

0.96.9

Description

When you have transforms on the root level or single source with transforms, and the client sends the same query with different variables, the initial variables are used in all following requests until the cache evicts DocumentNode.

Let's say if a token is sent via variables, the following requests will act like the same token is sent even if the following requests have different tokens.

This can cause a short memory leak but it won't grow per each request but per different operation until the cache evicts DocumentNode by LRU mechanism.

References

@Urigo Urigo published to ardatan/graphql-mesh Oct 9, 2023
Published to the GitHub Advisory Database Oct 10, 2023
Reviewed Oct 10, 2023
Last updated Oct 10, 2023

Severity

High

Weaknesses

No CWEs

CVE ID

No known CVE

GHSA ID

GHSA-rr4x-crhf-8886

Source code

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.