Skip to content
Fencer Vulns
high 7.5

CVE-2020-15225 json

Denial of Service vulnerability in django-filter

published 2020-09-28 6 y ago modified 2026-07-08 4 mo ago also GHSA-x7gm-rfgv-w973 , PYSEC-2021-64 , EUVD-2021-0053

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
1.8%
EPSS 1.8% chance of exploitation in 30 days, percentile 78%
public exploits
0
none known

Summary

django-filter is a generic system for filtering Django QuerySets based on user selections. In django-filter before version 2.4.0, automatically generated `NumberFilter` instances, whose value was later converted to an integer, were subject to potential DoS from maliciously input using exponential format with sufficiently large exponents. Version 2.4.0+ applies a `MaxValueValidator` with a a default `limit_value` of 1e50 to the form field used by `NumberFilter` instances. In addition, `NumberFilter` implements the new `get_max_validator()` which should return a configured validator instance to customise the limit, or else `None` to disable the additional validation. Users may manually apply an equivalent validator if they are not able to upgrade.

Patch / fix

  • pypi django-filter 2.4.0
  • django-filter_project django-filter 2.4.0
  • django-filter Debian 14, Debian 13, Debian 12 2.4.0-1

debian advisories DEBIAN-CVE-2020-15225

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2020-15225 updated cvss 6.5

python-django-filter: Maliciously input using exponential format may cause denial of service

  • Red Hat Ansible Automation Platform 1.2 python-django-filter
    affected: no fix available
  • Red Hat Ceph Storage 2 calamari-server
    affected: no fix planned “Out of support scope”

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

1.80% chance of exploitation in the next 30 days, higher than 78% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD 3.1 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
NVD 2.0 4.0 AV:N/AC:L/Au:S/C:N/I:N/A:P
GitHub 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
pypi django-filter
<2.4.0
2.4.0

Affected products

  • carltongibson django-filter

Classification

Weakness
  • CWE-681 Incorrect Conversion between Numeric Types

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.