Description
Mockoon provides way to design and run mock APIs. Prior to 9.7.0, a FILE response whose filePath embeds request data is confined by getSafeFilePath in packages/commons-server/src/libs/server/server.ts with resolvedPath.startsWith(staticBaseDir). That prefix test has no path-separator boundary, so a ../-escaped path whose absolute form string-prefixes the base directory passes, allowing an unauthenticated client to read files from sibling paths outside the served directory through HTTP sendFile, WebSocket, or callbacks. This issue is fixed in version 9.7.0.
Problem types
CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
CWE-23: Relative Path Traversal
Product status
References
github.com/...ockoon/security/advisories/GHSA-8wqc-v2q8-vff2
github.com/...ockoon/security/advisories/GHSA-8wqc-v2q8-vff2
github.com/mockoon/mockoon/pull/2255
github.com/...ommit/b42bdfb7f82e83f0e81bea8e6fe41adf5ec82585
github.com/mockoon/mockoon/releases/tag/v9.7.0