VDB
Sign up
MEDIUM4.0

GHSA-mhvh-fq92-pfmr

geopy: Regular Expression Denial of Service (ReDoS) in geopy.Point

Quick fix

GHSA-mhvh-fq92-pfmr — geopy: upgrade to the fixed version with the command below.

pip install --upgrade 'geopy>=2.5.0'

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

PyPI/geopy
Introduced in: 0Fixed in: 2.5.0
Fixpip install --upgrade 'geopy>=2.5.0'

References