GHSA-wm7q-rxch-43mx – serve
Package
Manager: npm
Name: serve
Vulnerable Version: >=0 <6.5.2
Severity
Level: High
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N/E:P/RL:O/RC:C
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
EPSS: N/A pctlN/A
Details
Byass due to validation before canonicalization in serve Versions of `serve` before 6.5.2 are vulnerable to the bypass of the ignore functionality. The bypass is possible because validation happens before canonicalization of paths and filenames. Example: Here we have a server that ignores the file test.txt. ``` const serve = require('serve') const server = serve(__dirname, { port: 1337, ignore: ['test.txt'] }) ``` Using the URL encoded form of a letter (%65 instead of e) attacker can bypass the ignore control accessing the file. `curl http://localhost:1337/t%65st.txt` Additionally this technique can be used to get directory listings of ignored directories. ## Recommendation Update to version 6.5.2 or later.
Metadata
Created: 2020-09-01T19:38:33Z
Modified: 2020-08-31T18:29:10Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/09/GHSA-wm7q-rxch-43mx/GHSA-wm7q-rxch-43mx.json
CWE IDs: []
Alternative ID: N/A
Finding: F063
Auto approve: 1