SB20261007221 - Multiple vulnerabilities in Django
Published: October 7, 2026
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 4 vulnerabilities.
1) Allocation of Resources Without Limits or Throttling (CVE-ID: CVE-2026-77050)
CWE-ID: CWE-770 - Allocation of Resources Without Limits or Throttling
CVSSv4: 6.9 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
nThe vulnerability exists due to insufficient limits on memory consumption in django.utils.translation.get_supported_language_variant() when processing language codes that are cached before their length is limited. A remote attacker can supply many distinct, very long language codes to cause a denial of service.
n2) Inefficient Algorithmic Complexity (CVE-ID: CVE-2026-84429)
CWE-ID: CWE-407 - Inefficient Algorithmic Complexity
CVSSv4: 6.9 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to cause a denial of service.
nThe vulnerability exists due to quadratic time complexity in django.utils.http.parse_header_parameters() when parsing header values containing many separators inside a quoted parameter. A remote attacker can send a specially crafted request containing such values in Accept or Content-Type headers to cause a denial of service.
nUnauthenticated requests can reach the parser through content negotiation performed by HttpRequest.accepts(). The per-call length limit does not bound the combined size of repeated headers.
3) Server-Side Request Forgery (SSRF) (CVE-ID: CVE-2026-87890)
CWE-ID: CWE-918 - Server-Side Request Forgery (SSRF)
CVSSv4: 6.9 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to induce server-side network requests.
nThe vulnerability exists due to acceptance of raster byte values without explicit GDALRaster wrapping in Django spatial lookups when preparing lookups from attacker-controlled bytes. A remote attacker can supply a VRT document referencing an external raster source to induce server-side network requests.
nExploitation requires an application to pass attacker-controlled bytes directly to a spatial lookup. GDAL opens these values through its in-memory virtual filesystem, and the resulting requests run as the Django process user.
4) Incorrect authorization (CVE-ID: CVE-2026-87975)
CWE-ID: CWE-863 - Incorrect Authorization
CVSSv4: 6.9 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N]
The vulnerability allows a remote attacker to delete instances outside the limiting queryset or create instances through edit-only formsets.
nThe vulnerability exists due to improper authorization enforcement in Django model formsets when processing submitted data for models whose primary keys can be set through the form. A remote attacker can submit forged POST data to delete instances outside the limiting queryset or create instances through edit-only formsets.
nAffected configurations include a OneToOneField or parent link used as the primary key of an inline formset's model, or a natural or UUID primary key included in the form's fields. Models using the default BigAutoField primary key are not affected.
Remediation
Install update from vendor's website.
References
- https://www.djangoproject.com/weblog/2026/oct/06/security-releases/
- https://github.com/django/django/commit/c88b304cc2d90fc37d3bd1f5f3829706fa6c13bc
- https://github.com/django/django/commit/7ff7fcc0508864a4bc39693128ace38b1e95a890
- https://github.com/django/django/commit/ebcb13b327301f28cbc6cd5e4988a719f00575aa
- https://github.com/django/django/commit/83cbd21be57483e6b3eb6e4688a561c841aff75e