Summary
geopy: Regular Expression Denial of Service (ReDoS) in geopy.Point
Advisory details
Impact
geopy.Point and Point.from_string() may take excessive CPU time when parsing long, malformed coordinate strings due to inefficient regular-expression behavior. The numeric Point constructor is not affected.
Geocoders' reverse methods called with string inputs exercise the vulnerable path.
Applications are affected when they pass attacker-controlled strings to these APIs without an appropriate length limit. Repeated requests may cause denial of service.
Patches
Fixed in geopy 2.5.0 by rejecting overly long (over 256 characters) coordinate strings before parsing.
Workarounds
Limit coordinate strings to a reasonable maximum length, such as 256 characters, before passing them to geopy.
References
- https://github.com/advisories/GHSA-mhvh-fq92-pfmr
- https://github.com/geopy/geopy/security/advisories/GHSA-mhvh-fq92-pfmr
- https://nvd.nist.gov/vuln/detail/CVE-2026-77387
- https://github.com/geopy/geopy/issues/608
- https://github.com/geopy/geopy/pull/610
- https://github.com/geopy/geopy/commit/5d09fa843f90ec80788b61552539c9fd3ae6c528
- https://github.com/geopy/geopy/releases/tag/2.5.0
Related vulnerabilities
All Supply chain →- MEDIUMCVE-2026-104150
AdonisJS HTTP Server: Uncontrolled Resource Consumption and Inefficient Regular Expression Complexity
- MEDIUMCVE-2026-107290
Pydantic AI: Event loop blocked by quadratic title extraction in `web_fetch`
- MEDIUMCVE-2026-105645
Ghost: Regular Expression Denial of Service in External Media Inliner
- MEDIUMCVE-2026-105646
Ghost: Regular Expression Denial of Service in Content Import
- MEDIUMCVE-2026-106454
Twisted: IMAP wildcardToRegexp() ReDoS
- HIGHCVE-2026-106104
Quasar Framework: Super-linear regex backtracking on User-Agent lets one request stall a Quasar SSR server