Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable, unauthenticated, no interaction, trivial single-request trigger; pure availability crash with no confidentiality or integrity impact, so C:N/I:N/A:H.
Primary rating from Vendor (https://github.com/delvedor/find-my-way).
CVSS VectorVendor: https://github.com/delvedor/find-my-way
Lifecycle Timeline
3Blast Radius
ecosystem impact- 226 npm packages depend on find-my-way (6 direct, 220 indirect)
Ecosystem-wide dependent count for version 9.7.0.
DescriptionCVE.org
Impact
Remotely triggerable DoS in find-my-way when it is used with Node's HTTP/2 server.
The 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.
Patches
Upgrade to v9.7.0.
Workarounds
Do not use find-my-way with HTTP/2 servers, or validate that the http method is valid beforehand.
AnalysisAI
Remote denial of service in find-my-way (the HTTP router underneath Fastify) affects all versions up to and including 9.6.0 when the router serves requests from a Node.js HTTP/2 server. Because the internal method-to-tree map is a plain JavaScript object, an unauthenticated attacker can send a request whose HTTP method is an inherited Object property name such as constructor, toString, or __proto__, causing find() to treat a prototype value as a router node and crash the process on currentNode.prefix.length. There is no public exploit identified at time of analysis and it is not in CISA KEV, but the trigger is trivial and a fixed release (9.7.0) is available.
Technical ContextAI
find-my-way is a high-performance radix-tree HTTP router for Node.js and is the default router underneath the Fastify web framework. Internally it stores per-method route trees in this.trees, indexed as this.trees[method]. The root cause is CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes / prototype pollution semantics): because this.trees is an ordinary object rather than a null-prototype map, indexing it with an attacker-controlled key that is an inherited Object.prototype member (constructor, toString, hasOwnProperty, __proto__, etc.) returns the inherited function/value instead of undefined. Under HTTP/1.x, Node's parser rejects such method tokens, but Node's HTTP/2 server surfaces the :method pseudo-header more permissively, so lookup() forwards req.method straight into find(), where the returned prototype value is dereferenced as if it were a tree node and throws when .prefix is read.
RemediationAI
Vendor-released patch: 9.7.0 - upgrade the find-my-way dependency (directly, or transitively via Fastify) to 9.7.0 or later, per advisory GHSA-c96f-x56v-gq3h (https://github.com/delvedor/find-my-way/security/advisories/GHSA-c96f-x56v-gq3h). If you cannot upgrade immediately, the vendor-documented workarounds are to stop serving find-my-way from a Node.js HTTP/2 server (fall back to HTTP/1.x, which rejects the malformed method tokens at the parser level, at the cost of losing HTTP/2 features), or to validate the HTTP method against an allowlist of known-valid verbs before it reaches lookup()/find() and reject anything else with a 400/501 (trade-off: requires an upstream middleware or proxy hook and must cover any custom methods your app legitimately uses). Fixed release and patch are at https://github.com/delvedor/find-my-way/pull/434 and https://github.com/delvedor/find-my-way/releases/tag/v9.7.0.
More in Prototype Pollution
View allPrototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu
Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau
Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service
A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi
A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function
All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s
This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr
Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser
alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde
A vulnerability exists in the 'dagre-d3-es' Node.js package version 7.0.9, specifically within the 'bk' module's addConf
A Prototype Pollution vulnerability in the util-deps.addFileDepend function of magix-combine-ex versions thru 1.2.10 all
Chartist 1.x through 1.3.0 allows Prototype Pollution via the extend function. Rated critical severity (CVSS 9.8), this
Same technique Denial Of Service
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-50084
GHSA-c96f-x56v-gq3h