Source: python-django
Version: 3:5.2.16-1
Severity: important
Tags: security upstream
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>

Hi,

The following vulnerabilities were published for python-django.

CVE-2026-15307[0]:
| An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before
| 6.0.8. GeoDjango spatial lookups optimistically parse the right-
| hand-side value as a raster by passing it to the
| `django.contrib.gis.gdal.GDALRaster` constructor. Any value used in
| a spatial lookup against a `GeometryField` or `RasterField` reaches
| this constructor, including untrusted input, for example a spatial-
| field filter submitted through the Django admin changelist query
| string by a staff user with view permission. A `dict`, or a `str`
| holding its JSON representation, is opened in write mode regardless
| of the constructor's `write=False` default, allowing a file with an
| attacker-chosen name and contents to be written through a file-
| backed GDAL driver. Any other `str` is treated as a datasource,
| allowing an outbound network request through a GDAL virtual
| filesystem handler. Writing a file to a location later imported by
| the application can result in remote code execution. Earlier,
| unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not
| evaluated and may also be affected. Django would like to thank Bence
| Nagy, localhost-detect, and kimchunbok_ for reporting this issue.


CVE-2026-15337[1]:
| An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before
| 6.0.8. `django.utils.translation.check_for_language()` is subject to
| a potential denial-of-service attack when given many distinct, very
| long language codes, which are retained as keys in an in-memory
| cache and consume process memory. Such codes reach the function
| through the `django.views.i18n.set_language()` view, which is not
| routed by default. The consumed memory is bounded, since request
| data is limited by the `DATA_UPLOAD_MAX_MEMORY_SIZE` setting
| (default 2.5 MB) and the cache holds a fixed maximum number of
| entries. Earlier, unsupported Django series (such as 5.1.x, 5.0.x,
| and 4.2.x) were not evaluated and may also be affected. Django would
| like to thank Jaeyoung Jang for reporting this issue.


CVE-2026-15830[2]:
| An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before
| 6.0.8. GeoDjango's `django.contrib.gis.geos.GEOSGeometry` is subject
| to a potential denial-of-service when parsing deeply nested
| `GEOMETRYCOLLECTION` objects supplied as well-known text (WKT),
| well-known binary (WKB), or hex-encoded WKB, which triggers
| unbounded recursion and a segmentation fault in the underlying GEOS
| library. Spatial field lookups and the
| `django.contrib.gis.forms.GeometryField` form field are also
| affected. Earlier, unsupported Django series (such as 5.1.x, 5.0.x,
| and 4.2.x) were not evaluated and may also be affected. Django would
| like to thank Andrew MacPherson and kimchunbok_ for reporting this
| issue.


CVE-2026-15920[3]:
| An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before
| 6.0.8. `django.contrib.admin.utils.display_for_field()` renders
| `URLField` values as clickable links in the admin without validating
| the URL. A value stored with an unsafe scheme is displayed as a link
| on changelist and read-only admin pages, which allows cross-site
| scripting against staff users who click the link.  Exploitation
| requires the unsafe value to already be stored in the database.
| `URLField` validation through a `ModelForm` or the admin rejects
| unsafe schemes, so this affects applications that persist `URLField`
| data without running model validation, for example through direct
| queryset writes, deserialization, or bulk import of untrusted input.
| Django would like to thank Egor Saltykov for reporting this issue.


If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-15307
    https://www.cve.org/CVERecord?id=CVE-2026-15307
[1] https://security-tracker.debian.org/tracker/CVE-2026-15337
    https://www.cve.org/CVERecord?id=CVE-2026-15337
[2] https://security-tracker.debian.org/tracker/CVE-2026-15830
    https://www.cve.org/CVERecord?id=CVE-2026-15830
[3] https://security-tracker.debian.org/tracker/CVE-2026-15920
    https://www.cve.org/CVERecord?id=CVE-2026-15920

Please adjust the affected versions in the BTS as needed.

Regards,
Salvatore

Reply via email to