{"id":81757,"date":"2026-07-09T22:47:07","date_gmt":"2026-07-09T19:17:07","guid":{"rendered":"https:\/\/afaghhosting.net\/blog\/cve-2026-59149-mockoon-path-traversal-in-templated-filepath-lets-a-request-escape-the-served-directory-prefix-only-base-check\/"},"modified":"2026-07-09T22:47:07","modified_gmt":"2026-07-09T19:17:07","slug":"cve-2026-59149-mockoon-path-traversal-in-templated-filepath-lets-a-request-escape-the-served-directory-prefix-only-base-check","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/cve-2026-59149-mockoon-path-traversal-in-templated-filepath-lets-a-request-escape-the-served-directory-prefix-only-base-check\/","title":{"rendered":"CVE-2026-59149 &#8211; Mockoon: Path traversal in templated `filePath` lets a request escape the served directory (prefix-only base check)"},"content":{"rendered":"<p>CVE ID :CVE-2026-59149<\/p>\n<p>  Published : July 9, 2026, 7:17 p.m. | 31\u00a0minutes ago<\/p>\n<p>  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.<\/p>\n<p>  Severity: 6.5 | MEDIUM<\/p>\n<p>  Visit the link for more details, such as CVSS details, affected products, timeline, and more&#8230;\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CVE ID :CVE-2026-59149 Published : July 9, 2026, 7:17 p.m. | 31\u00a0minutes ago 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 &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-81757","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/81757","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=81757"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/81757\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=81757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=81757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=81757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}