CVE-2025-27098 – @graphql-mesh/cli
Package
Manager: npm
Name: @graphql-mesh/cli
Vulnerable Version: >=0.78.0 <0.82.22
Severity
Level: Medium
CVSS v3.1: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:L
CVSS v4.0: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
EPSS: 0.00044 pctl0.1287
Details
Unwanted access to the entire file system vulnerability due to a missing check in `staticFiles` HTTP handler ### Summary Missing check vulnerability in the static file handler allows any client to access the files in the server's file system ### Details 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`; ```ts if (staticFiles) { router.get('/:relativePath+', async request => { let { relativePath } = request.params; if (!relativePath) { relativePath = 'index.html'; } const absolutePath = path.join(baseDir, staticFiles, relativePath); if (absolutePath.includes(staticFiles) && (await pathExists(absolutePath))) { const readStream = fs.createReadStream(absolutePath); return new Response(readStream as any, { status: 200, }); } return undefined; }); ``` ### Example scenario To reproduce it, set `staticFiles` to the relative path of a directory in `.meshrc.yml`; ```yml serve: staticFiles: ./public ``` Then start the server with `mesh dev`, and browse to `/..%2fpackage.json` then you will see the content of `package.json`. You can even go deeper to see sensitive data; `/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc/passwd` ### Impact and solution If `staticFiles` is set under `serve` in the configuration file. you have two options to fix vulnerability; - 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` - Remove `staticFiles` option from the configuration, and use other solutions to serve static files. ### Credits Thanks [alanwillms@gmail.com](mailto:alanwillms@gmail.com) for reporting this vulnerability with details
Metadata
Created: 2023-02-16T18:41:07Z
Modified: 2025-02-20T22:51:27Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/02/GHSA-j2wh-wrv3-4x4g/GHSA-j2wh-wrv3-4x4g.json
CWE IDs: ["CWE-22"]
Alternative ID: GHSA-j2wh-wrv3-4x4g
Finding: F063
Auto approve: 1