# CVE-2026-87890: Django spatial lookups SSRF via crafted VRT document

Source: https://junglewise.ai/threats/cve-2026-87890-an-issue-was-discovered-in-django-6-1-before-6-1-2-6-0-before-6-0  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-06. Updated: 2026-10-06  
License: CC BY 4.0 with a link back

CVE-2026-87890 · Severity: medium · CVSS 5.3 · Published 2026-10-06

Django is a popular web framework used by many organizations to build web applications. An incomplete fix for a spatial lookups vulnerability allows an attacker who can submit specially crafted data to force the Django server to make network requests to external systems, potentially exposing internal network information or accessing restricted resources. This occurs when the application processes geographic data containing VRT (Virtual Raster) documents with external source references.

Technologies: [Django Software Foundation Django](https://junglewise.ai/threats/technologies/django-software-foundation-django). Vendors: [Django Software Foundation](https://junglewise.ai/threats/vendors/django-software-foundation).

## Quick answers

**Is CVE-2026-87890 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-87890 being exploited in the wild.

**How severe is CVE-2026-87890?** Medium severity, with a CVSS score of 5.3, published 6 October 2026.

**Which products and versions are affected?** Django Software Foundation Django 6.1 before 6.1.2, 6.0 before 6.0.9, 5.2 before 5.2.18.

**Is there a fix for CVE-2026-87890?** Yes: fixed in Django 6.1.2, 6.0.9, 5.2.18. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-87890 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-87890?** Check whether you run Django Software Foundation Django at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in Django 6.1.2, 6.0.9, 5.2.18

## Technical details

An incomplete fix for CVE-2026-15307 in Django's spatial lookups allows an attacker who can supply bytes values to craft a VRT document that references an external raster source, causing the Django process to make unsolicited network requests. The vulnerability affects Django's GIS functionality when processing user-supplied geographic data. Versions before Django 6.1.2, 6.0.9, and 5.2.18 are vulnerable; older unsupported series (5.1.x, 5.0.x, 4.2.x) may also be affected.

## Affected products

- Django Software Foundation Django 6.1 before 6.1.2, 6.0 before 6.0.9, 5.2 before 5.2.18

## Timeline

- 2026-10-06: disclosed
- 2026-10-06: patched

## References

- [https://pypi.org/project/Django/](https://pypi.org/project/Django/)
- [https://docs.djangoproject.com/en/dev/releases/security/](https://docs.djangoproject.com/en/dev/releases/security/)

## Related threats

- [Django GIS spatial reference string injection](https://junglewise.ai/threats/cve-2026-114582-an-issue-was-discovered-in-django-6-1-before-6-1-3-6-0-before-6)
- [Django SSRF in GeoJSON coordinate reference systems](https://junglewise.ai/threats/cve-2026-111362-an-issue-was-discovered-in-django-6-1-before-6-1-3-6-0-before-6)
- [Django log injection in BaseGeometryWidget.deserialize()](https://junglewise.ai/threats/cve-2026-111211-an-issue-was-discovered-in-django-6-1-before-6-1-3-6-0-before-6)
- [Django multipart parser excessive memory consumption via base64 Content-Transfer-Encoding](https://junglewise.ai/threats/cve-2026-108147-an-issue-was-discovered-in-django-6-1-before-6-1-3-6-0-4-before)
- [Django authorization bypass in BaseModelFormSet deletion](https://junglewise.ai/threats/cve-2026-87975-an-issue-was-discovered-in-django-6-1-before-6-1-2-6-0-before-6-0)
