{"id":"CVE-2026-47219","aliases":["CLSA-2026-1785291246","CLSA-2026-1792488967","CLSA-2026-1792489084","EUVD-2026-50084","GHSA-c96f-x56v-gq3h"],"status":"published","title":"find-my-way is Vulnerable to DDoS with HTTP2","description":"find-my-way is a framework-independent HTTP router that internally uses a Radix Tree and supports route parameters and wildcards. Versions prior to 9.7.0 are vulnerable to remotely triggerable DoS in find-my-way when it is used with Node's HTTP/2 server. The lookup() function passes req.method into find(), and find() indexes this.trees[method]. Since this.trees is a normal object, HTTP/2 method values like constructor, toString, or __proto__ can resolve inherited object properties instead of returning undefined. The code then treats that value like a router node and crashes when it reaches currentNode.prefix.length. This issue has been fixed in version 9.0.7.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.0046,"percentile":0.40179,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-1321","CWE-20","CWE-248"],"published":"2026-07-23T19:33:15Z","modified":"2026-10-28T02:30:28Z","fixes":[{"ecosystem":"npm","package":"find-my-way","fixed_in":["9.7.0"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:npm","package":"find-my-way","fixed_in":["9.6.0-tuxcare.1","4.5.1-tuxcare.1","8.2.2-tuxcare.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"find-my-way","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"9.6.0"},{"fixed":"9.7.0"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"find-my-way","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"9.6.0-tuxcare.0"},{"fixed":"9.6.0-tuxcare.1"}]}],"versions":["9.6.0"]},{"source":"osv","ecosystem":"TuxCare:npm","package":"find-my-way","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.5.1-tuxcare.0"},{"fixed":"4.5.1-tuxcare.1"}]}],"versions":["4.5.1"]},{"source":"osv","ecosystem":"TuxCare:npm","package":"find-my-way","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"8.2.2-tuxcare.0"},{"fixed":"8.2.2-tuxcare.1"}]}],"versions":["8.2.2"]},{"source":"osv","ecosystem":"npm","package":"find-my-way","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"9.7.0"}]}]}],"products":[{"vendor":"delvedor","product":"find-my-way"}],"references":[{"url":"https://github.com/delvedor/find-my-way/security/advisories/GHSA-c96f-x56v-gq3h","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/delvedor/find-my-way/pull/434","tags":["web"]},{"url":"https://github.com/delvedor/find-my-way/commit/cfe3fd6168b5ac1594c0820fb83fce251a533fc1","tags":["web"]},{"url":"https://github.com/delvedor/find-my-way/releases/tag/v9.7.0","tags":["web"]},{"url":"https://github.com/advisories/GHSA-c96f-x56v-gq3h"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47219.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47219","tags":["advisory"]},{"url":"https://github.com/delvedor/find-my-way","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-47219","title":"find-my-way is Vulnerable to DDoS with HTTP2","description":"find-my-way is a framework-independent HTTP router that internally uses a Radix Tree and supports route parameters and wildcards. Versions prior to 9.7.0 are vulnerable to remotely triggerable DoS in find-my-way when it is used with Node's HTTP/2 server. The lookup() function passes req.method into find(), and find() indexes this.trees[method]. Since this.trees is a normal object, HTTP/2 method values like constructor, toString, or __proto__ can resolve inherited object properties instead of returning undefined. The code then treats that value like a router node and crashes when it reaches currentNode.prefix.length. This issue has been fixed in version 9.0.7.","status":"published","published":"2026-07-28T22:14:31.279Z","modified":"2026-07-29T15:24:01.203Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-20","CWE-248"],"updated_at":"2026-11-02T13:36:40.478484Z"}],"euvd":[{"id":"EUVD-2026-50084","description":"find-my-way is a framework-independent HTTP router that internally uses a Radix Tree and supports route parameters and wildcards. Versions prior to 9.7.0 are vulnerable to remotely triggerable DoS in find-my-way when it is used with Node's HTTP/2 server. The lookup() function passes req.method into find(), and find() indexes this.trees[method]. Since this.trees is a normal object, HTTP/2 method values like constructor, toString, or __proto__ can resolve inherited object properties instead of returning undefined. The code then treats that value like a router node and crashes when it reaches currentNode.prefix.length. This issue has been fixed in version 9.0.7.","status":"published","published":"2026-07-28T22:14:31Z","modified":"2026-07-29T15:24:01Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T18:02:29.807737Z"}],"ghsa":[{"id":"GHSA-c96f-x56v-gq3h","title":"find-my-way: DDoS with HTTP2","description":"### Impact\nRemotely triggerable DoS in find-my-way when it is used with Node's HTTP/2 server.\n\nThe short version is that `lookup()` passes `req.method` into `find()`, and `find()` indexes `this.trees[method]`. Since `this.trees` is a normal object, HTTP/2 method values like constructor, `toString`, or `__proto__` can resolve inherited object properties instead of returning undefined. The code then treats that value like a router node and crashes when it reaches `currentNode.prefix.length`.\n\n### Patches\n\nUpgrade to v9.7.0.\n\n### Workarounds\n\nDo not use find-my-way with HTTP/2 servers, or validate that the http method is valid beforehand.","status":"published","published":"2026-07-23T19:33:15Z","modified":"2026-07-23T19:33:15Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-1321"],"updated_at":"2026-11-02T14:40:52.46233Z"}],"nvd":[{"id":"CVE-2026-47219","description":"find-my-way is a framework-independent HTTP router that internally uses a Radix Tree and supports route parameters and wildcards. Versions prior to 9.7.0 are vulnerable to remotely triggerable DoS in find-my-way when it is used with Node's HTTP/2 server. The lookup() function passes req.method into find(), and find() indexes this.trees[method]. Since this.trees is a normal object, HTTP/2 method values like constructor, toString, or __proto__ can resolve inherited object properties instead of returning undefined. The code then treats that value like a router node and crashes when it reaches currentNode.prefix.length. This issue has been fixed in version 9.0.7.","status":"published","published":"2026-07-28T23:17:03.763Z","modified":"2026-10-23T23:10:00.157Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-20","CWE-248"],"updated_at":"2026-11-02T14:12:33.629616Z"}],"osv":[{"id":"CVE-2026-47219","title":"find-my-way is Vulnerable to DDoS with HTTP2","description":"find-my-way is a framework-independent HTTP router that internally uses a Radix Tree and supports route parameters and wildcards. Versions prior to 9.7.0 are vulnerable to remotely triggerable DoS in find-my-way when it is used with Node's HTTP/2 server. The lookup() function passes req.method into find(), and find() indexes this.trees[method]. Since this.trees is a normal object, HTTP/2 method values like constructor, toString, or __proto__ can resolve inherited object properties instead of returning undefined. The code then treats that value like a router node and crashes when it reaches currentNode.prefix.length. This issue has been fixed in version 9.0.7.","status":"published","published":"2026-07-28T22:14:31.279Z","modified":"2026-10-28T02:30:28.551759557Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-20","CWE-248"],"updated_at":"2026-11-02T15:45:06.231145Z"},{"id":"GHSA-c96f-x56v-gq3h","title":"find-my-way: DDoS with HTTP2","description":"### Impact\nRemotely triggerable DoS in find-my-way when it is used with Node's HTTP/2 server.\n\nThe short version is that `lookup()` passes `req.method` into `find()`, and `find()` indexes `this.trees[method]`. Since `this.trees` is a normal object, HTTP/2 method values like constructor, `toString`, or `__proto__` can resolve inherited object properties instead of returning undefined. The code then treats that value like a router node and crashes when it reaches `currentNode.prefix.length`.\n\n### Patches\n\nUpgrade to v9.7.0.\n\n### Workarounds\n\nDo not use find-my-way with HTTP/2 servers, or validate that the http method is valid beforehand.","status":"published","published":"2026-07-23T19:33:15Z","modified":"2026-07-23T19:56:40.779403Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-1321"],"updated_at":"2026-11-02T15:46:44.927642Z"},{"id":"CLSA-2026-1785291246","title":"TuxCare security update for find-my-way (1 CVE)","description":"TuxCare rebuilt find-my-way to address 1 CVE. Fixed in 9.6.0-tuxcare.1.","status":"published","published":"2026-08-04T14:52:50Z","modified":"2026-10-15T09:48:03.851980059Z","updated_at":"2026-11-02T15:43:46.482572Z"},{"id":"CLSA-2026-1792488967","title":"TuxCare security update for find-my-way (1 CVE)","description":"TuxCare rebuilt find-my-way to address 1 CVE. Fixed in 4.5.1-tuxcare.1.","status":"published","published":"2026-10-20T09:36:07Z","modified":"2026-10-20T13:45:12.469402744Z","updated_at":"2026-11-02T15:43:54.378946Z"},{"id":"CLSA-2026-1792489084","title":"TuxCare security update for find-my-way (1 CVE)","description":"TuxCare rebuilt find-my-way to address 1 CVE. Fixed in 8.2.2-tuxcare.1.","status":"published","published":"2026-10-20T09:38:04Z","modified":"2026-10-20T13:45:16.015358867Z","updated_at":"2026-11-02T15:43:54.378946Z"}]}}
