CVE-2025-27098 json
Unwanted access to the entire file system vulnerability due to a missing check in `staticFiles` HTTP handler in graphql-mesh
published 2023-02-16 3 y ago modified 2026-06-17 4 mo ago also GHSA-j2wh-wrv3-4x4g , EUVD-2023-0727
- cvss
- 5.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 30%
- public exploits
- 0
- none known
Summary
GraphQL Mesh is a GraphQL Federation framework and gateway for both GraphQL Federation and non-GraphQL Federation subgraphs, non-GraphQL services, such as REST and gRPC, and also databases such as MongoDB, MySQL, and PostgreSQL. Missing check vulnerability in the static file handler allows any client to access the files in the server's file system. When `staticFiles` is set in the `serve` settings in the configuration file, the following handler doesn't check if `absolutePath` is still under the directory provided as `staticFiles`. Users have two options to fix vulnerability; 1. Update `@graphql-mesh/cli` to a version higher than `0.82.21`, and if you use `@graphql-mesh/http`, update it to a version higher than `0.3.18` 2. Remove `staticFiles` option from the configuration, and use other solutions to serve static files.
Patch / fix
- npm @graphql-mesh/cli 0.82.22
- npm @graphql-mesh/http 0.3.19
- the-guild graphql_mesh_cli 0.82.22
- the-guild graphql_mesh_http 0.3.19
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 20 mo ago
Exploit prediction
0.36% chance of exploitation in the next 30 days, higher than 30% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/ardatan/graphql-mesh/security/advisories/GHSA-j2wh-wrv3-4x4g referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 5.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @graphql-mesh/cli | >=0.78.0, <0.82.22 |
0.82.22 |
| npm | @graphql-mesh/http | <0.3.19 |
0.3.19 |
Affected products
- ardatan graphql-mesh
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/Urigo/graphql-mesh/commit/95d93e7c140c2995b37e9d822aa3fe4e24ed2e78
web
-
github.com
/ardatan/graphql-mesh/security/advisories/GHSA-j2wh-wrv3-4x4g
web, exploit, vendor-advisory
-
github.com
/Urigo/graphql-mesh/security/advisories/GHSA-j2wh-wrv3-4x4g
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-27098
advisory
-
github.com
/Urigo/graphql-mesh
package
Sources
- CVE List CVE-2025-27098
- GitHub Advisory GHSA-j2wh-wrv3-4x4g
- NVD CVE-2025-27098
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.