geopy: Regular Expression Denial of Service (ReDoS) in geopy.Point
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
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.
Text from GitHub Advisory Database
Affected versions 53
- geopy, pip<= 2.4.1GitHub
- geopyaffected: < 2.5.0CVE List
- geopy, PyPIfrom first release, fixed in 2.5.0OSV
- geopy, PyPI0.92OSV
- geopy, PyPI0.93OSV
- geopy, PyPI0.94OSV
- geopy, PyPI0.94.1OSV
- geopy, PyPI0.94.2OSV
- geopy, PyPI0.95OSV
- geopy, PyPI0.95.1OSV
- geopy, PyPI0.96.0OSV
- geopy, PyPI0.96.1OSV
- geopy, PyPI0.96.2OSV
- geopy, PyPI0.96.3OSV
- geopy, PyPI0.97OSV
- geopy, PyPI0.97.1OSV
- geopy, PyPI0.98OSV
- geopy, PyPI0.98.1OSV
- geopy, PyPI0.98.2OSV
- geopy, PyPI0.98.3OSV
- geopy, PyPI0.99OSV
- geopy, PyPI1.0.0OSV
- geopy, PyPI1.0.1OSV
- geopy, PyPI1.1.0OSV
- geopy, PyPI1.1.1OSV
- geopy, PyPI1.1.2OSV
- geopy, PyPI1.1.3OSV
- geopy, PyPI1.1.4OSV
- geopy, PyPI1.1.5OSV
- geopy, PyPI1.10.0OSV
- geopy, PyPI1.11.0OSV
- geopy, PyPI1.12.0OSV
- geopy, PyPI1.13.0OSV
- geopy, PyPI1.14.0OSV
- geopy, PyPI1.15.0OSV
- geopy, PyPI1.16.0OSV
- geopy, PyPI1.17.0OSV
- geopy, PyPI1.18.0OSV
- geopy, PyPI1.18.1OSV
- geopy, PyPI1.19.0OSV
- geopy, PyPI1.2.0OSV
- geopy, PyPI1.20.0OSV
- geopy, PyPI1.21.0OSV
- geopy, PyPI1.22.0OSV
- geopy, PyPI1.23.0OSV
- geopy, PyPI1.3.0OSV
- geopy, PyPI1.4.0OSV
- geopy, PyPI1.5.0OSV
- geopy, PyPI1.6.0OSV
- geopy, PyPI1.6.1OSV
- geopy, PyPI1.7.0OSV
- geopy, PyPI1.7.1OSV
- geopy, PyPI1.8.0OSV
References 7
- github.com/geopy/geopy/commit/5d09fa843f90ec80788b61552539c9fd3ae6c528Fixvia CVE List
- github.com/geopy/geopy/releases/tag/2.5.0Fixvia CVE List
- github.com/geopy/geopy/security/advisories/GHSA-mhvh-fq92-pfmrAdvisoryvia CVE List
- github.com/advisories/GHSA-mhvh-fq92-pfmrAdvisoryvia GitHub
- github.com/geopy/geopy/issues/608Exploitvia CVE List
- nvd.nist.gov/vuln/detail/CVE-2026-77387Referencevia GitHub
- github.com/geopy/geopy/pull/610Referencevia CVE List