Prototype Pollution
Description
GraphHopper web-bundle URL parser before 3.2 and 4.0-pre1 to before 4.0 allows prototype pollution via constructor or __proto__ payload, leading to potential denial of service or remote code execution.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
GraphHopper web-bundle URL parser before 3.2 and 4.0-pre1 to before 4.0 allows prototype pollution via constructor or __proto__ payload, leading to potential denial of service or remote code execution.
Vulnerability
The vulnerability affects the JavaScript URL parser in the com.graphhopper:graphhopper-web-bundle package. Versions before 3.2, and from 4.0-pre1 up to but not including 4.0, are susceptible to prototype pollution. The URL parser improperly handles constructor or __proto__ properties in the parsed query string, allowing an attacker to add or modify properties of Object.prototype [1].
Exploitation
An attacker can craft a malicious URL containing a constructor or __proto__ payload. When the GraphHopper web-bundle processes this URL through its client-side parser, the payload is injected into JavaScript object prototypes. This requires no special network position—any vector that delivers the URL to the parser suffices (e.g., a user clicking a link, or a server-side rendering vulnerable to the same code path). No authentication is needed if the parser is exposed to unauthenticated users. The exploit typically relies on unsafe recursive merge or property-by-path assignment patterns in the URL parsing logic [2].
Impact
Successful prototype pollution can lead to several outcomes: denial of service via JavaScript exceptions, or tampering with application source code to force execution along an attacker-controlled code path, potentially leading to remote code execution (RCE) [2]. Because properties on Object.prototype are inherited by all objects, the impact can be widespread within the application.
Mitigation
The vulnerability is fixed in GraphHopper web-bundle version 3.2 and version 4.0. The fix was implemented in pull request #2370, which sanitizes input to avoid prototype pollution [3][4]. Users should upgrade to version 3.2 or later, or to version 4.0 or later. No workarounds are documented in the available references.
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
com.graphhopper:graphhopper-web-bundleMaven | < 3.2 | 3.2 |
Affected products
2- Range: 0.10.0, 0.10.0-RC1, 0.10.alpha1, …
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
6- github.com/advisories/GHSA-qhxh-9hhx-6p7vghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2021-23408ghsaADVISORY
- github.com/graphhopper/graphhopper/pull/2370ghsax_refsource_MISCWEB
- github.com/graphhopper/graphhopper/releases/tag/3.1ghsax_refsource_MISCWEB
- github.com/graphhopper/graphhopper/releases/tag/3.2ghsax_refsource_MISCWEB
- snyk.io/vuln/SNYK-JAVA-COMGRAPHHOPPER-1320114ghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.