GitHub Advisoryadvisory · PyPI
GHSA-mhvh-fq92-pfmr geopy: Regular Expression Denial of Service (ReDoS) in geopy.Point
MEDIUM
Official page ↗
- Aliases
- CVE-2026-77387
- Ecosystem
- PyPI
- Packages
- geopy
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-1333
- Reviewed
- 2026-10-02
Affected packages
• PyPI geopy: < 2.5.0 → fixed in 2.5.0
Description
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.
Related
Alias · CVE (1)
- CVE-2026-77387 geopy is a geocoding library for Python. vulnerability
Weakness · CWE (1)
- CWE-1333 Inefficient Regular Expression Complexity weakness
References
- https://github.com/geopy/geopy/security/advisories/GHSA-mhvh-fq92-pfmr web
- https://nvd.nist.gov/vuln/detail/CVE-2026-77387 advisory
- https://github.com/geopy/geopy/issues/608 web
- https://github.com/geopy/geopy/pull/610 web
- https://github.com/geopy/geopy/commit/5d09fa843f90ec80788b61552539c9fd3ae6c528 web
- https://github.com/geopy/geopy package
- https://github.com/geopy/geopy/releases/tag/2.5.0 web