Every CVESearch/Get API key

CVE-2026-77387

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

4.0 MediumFix available

geopy is a geocoding library for Python. Prior to 2.5.0, geopy.Point and Point.from_string() can spend excessive CPU time due to inefficient regular-expression behavior when an application passes a long malformed coordinate string without the 256-character input limit used by the fix. Geocoder reverse methods also reach the vulnerable parsing path when called with string inputs. Repeated attacker-controlled requests can cause a denial of service, while the numeric Point constructor is unaffected. This issue is fixed in version 2.5.0.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.20%Unchanged since Oct 2, 2026
90%50%10%1%

What each source reports

CVE List Score used4.0

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

geopy is a geocoding library for Python. Prior to 2.5.0, geopy.Point and Point.from_string() can spend excessive CPU time due to inefficient regular-expression behavior when an application passes a long malformed coordinate string without the 256-character input limit used by the fix. Geocoder reverse methods also reach the vulnerable parsing path when called with string inputs. Repeated attacker-controlled requests can cause a denial of service, while the numeric Point constructor is unaffected. This issue is fixed in version 2.5.0.

Record
CVE-2026-77387
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
EUVDEUVD-2026-909234.0

geopy is a geocoding library for Python. Prior to 2.5.0, geopy.Point and Point.from_string() can spend excessive CPU time due to inefficient regular-expression behavior when an application passes a long malformed coordinate string without the 256-character input limit used by the fix. Geocoder reverse methods also reach the vulnerable parsing path when called with string inputs. Repeated attacker-controlled requests can cause a denial of service, while the numeric Point constructor is unaffected. This issue is fixed in version 2.5.0.

Record
EUVD-2026-90923
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-mhvh-fq92-pfmr4.0

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

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.

Record
GHSA-mhvh-fq92-pfmr
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
NVD4.0

geopy is a geocoding library for Python. Prior to 2.5.0, geopy.Point and Point.from_string() can spend excessive CPU time due to inefficient regular-expression behavior when an application passes a long malformed coordinate string without the 256-character input limit used by the fix. Geocoder reverse methods also reach the vulnerable parsing path when called with string inputs. Repeated attacker-controlled requests can cause a denial of service, while the numeric Point constructor is unaffected. This issue is fixed in version 2.5.0.

Record
CVE-2026-77387
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
OSV4.0

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

geopy is a geocoding library for Python. Prior to 2.5.0, geopy.Point and Point.from_string() can spend excessive CPU time due to inefficient regular-expression behavior when an application passes a long malformed coordinate string without the 256-character input limit used by the fix. Geocoder reverse methods also reach the vulnerable parsing path when called with string inputs. Repeated attacker-controlled requests can cause a denial of service, while the numeric Point constructor is unaffected. This issue is fixed in version 2.5.0.

Record
CVE-2026-77387
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
OSVDEBIAN-CVE-2026-773874.0

geopy is a geocoding library for Python. Prior to 2.5.0, geopy.Point and Point.from_string() can spend excessive CPU time due to inefficient regular-expression behavior when an application passes a long malformed coordinate string without the 256-character input limit used by the fix. Geocoder reverse methods also reach the vulnerable parsing path when called with string inputs. Repeated attacker-controlled requests can cause a denial of service, while the numeric Point constructor is unaffected. This issue is fixed in version 2.5.0.

Record
DEBIAN-CVE-2026-77387
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
Show 4 moreShow less
OSVGHSA-mhvh-fq92-pfmr4.0

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

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.

Record
GHSA-mhvh-fq92-pfmr
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-1333
Updated
2026-11-02
OSVPYSEC-2026-42184.0

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

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.

Record
PYSEC-2026-4218
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2026-773874.0

geopy is a geocoding library for Python. Prior to 2.5.0, geopy.Point and Point.from_string() can spend excessive CPU time due to inefficient regular-expression behavior when an application passes a long malformed coordinate string without the 256-character input limit used by the fix. Geocoder reverse methods also reach the vulnerable parsing path when called with string inputs. Repeated attacker-controlled requests can cause a denial of service, while the numeric Point constructor is unaffected. This issue is fixed in version 2.5.0.

Record
UBUNTU-CVE-2026-77387
CVSS 3.1
4.0 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVopenSUSE-SU-2026:11724-1No score

python313-geopy-2.5.0-1.1 on GA media

These are all security issues fixed in the python313-geopy-2.5.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11724-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
geopy
PyPI
through 2.4.1
2.5.0
geopy
Debian:12
All versions, plus listed versions
2.3.0-12.4.1-12.4.1-22.4.1-3
None known
geopy
Debian:13
All versions, plus listed versions
2.4.1-12.4.1-22.4.1-3
None known
geopy
Debian:14
All versions, plus listed versions
2.4.1-12.4.1-22.4.1-3
None known
geopy
PyPI
before 2.5.0, plus listed versions
0.920.930.940.94.10.94.2
Show 45 moreShow less
0.950.95.10.96.00.96.10.96.20.96.30.970.97.10.980.98.10.98.20.98.30.991.0.01.0.11.1.01.1.11.1.21.1.31.1.41.1.51.10.01.11.01.12.01.13.01.14.01.15.01.16.01.17.01.18.01.18.11.19.01.2.01.20.01.21.01.22.01.23.01.3.01.4.01.5.01.6.01.6.11.7.01.7.11.8.0
2.5.0
geopy
Ubuntu:16.04:LTS
All versions, plus listed versions
1.3.0-1build11.11.0+ds1-1
None known
geopy
Ubuntu:18.04:LTS
All versions, plus listed versions
1.11.0+ds1-1
None known
geopy
Ubuntu:20.04:LTS
All versions, plus listed versions
1.20.0-1
None known
geopy
Ubuntu:22.04:LTS
All versions, plus listed versions
2.0.0-12.2.0-1
None known
geopy
Ubuntu:24.04:LTS
All versions, plus listed versions
2.3.0-12.3.0-1ubuntu1
None known
geopy
Ubuntu:26.10
All versions, plus listed versions
2.4.1-12.4.1-3
None known
geopy
Ubuntu:26.04:LTS
All versions, plus listed versions
2.4.1-1
None known
python-geopy
openSUSE:Tumbleweed
before 2.5.0-1.1
2.5.0-1.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-77387 is a medium vulnerability (CVSS 4.0) in Geopy, published September 8, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.20%, the 10th percentile. Fixed in geopy 2.5.0.

References

Show 8 moreShow less
This page doesn't list everything

Left out here: 10 versions. The JSON record has them.

MoveEnter Open