{"schemaVersion":3,"id":"CVE-2026-85124","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"@fastify/http-proxy versions before 11.6.2 do not validate proxied HTTP request paths for backslash based dot-segments before forwarding them to the configured upstream. The plain HTTP request handler skips the destination validation that the WebSocket path performs, and the underlying reply-from library only rejects forward-slash traversal, so a request containing backslash dot-segments can escape the boundary set by the prefix and rewritePrefix options. An unauthenticated network attacker can use this to reach upstream paths that were meant to stay hidden behind the proxy, resulting in disclosure of internal endpoints. This is a path traversal issue (CWE-22). Users should upgrade to @fastify/http-proxy 11.6.2 or later.","dates":{"published":"2026-09-03T10:51:24.281Z","modified":"2026-09-03T12:32:56.358Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.5,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00737,"percentile":0.5372,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.185,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00552},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00737,"percentile":0.5372}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00552,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00737,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00737,"percentile":0.5372}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"fastify","product":"fastify\\/http-proxy","name":"fastify\\/http-proxy","label":"fastify\\/http-proxy","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 11.6.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 11.6.2","eol":null,"hubHref":"/vendor/fastify/fastifyhttp-proxy"},{"vendor":"@fastify/http-proxy","product":"@fastify/http-proxy","name":"@fastify/http-proxy","label":"@fastify/http-proxy","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 11.6.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 11.6.2","eol":null,"hubHref":"/vendor/fastifyhttp-proxy/fastifyhttp-proxy"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/fastify/fastify-http-proxy/security/advisories/GHSA-qv33-689p-2xq5","label":"github.com/fastify/fastify-http-proxy/security/advisories/GHSA-qv33-689p-2xq5","hostname":"github.com","tags":["Vendor Advisory"]},{"url":"https://cna.openjsf.org/security-advisories.html","label":"cna.openjsf.org/security-advisories.html","hostname":"cna.openjsf.org","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-09-03T10:51:24.281Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-03T12:32:56.358Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":30,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T16:52:48.609Z","stale":false,"partial":false}}