Denial of Service vulnerability in django-filter
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 2 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| carltongibson | django-filter | before 2.4.0 | 2.4.0 | Patch available | CNA |
| — | django-filter (PyPI) | before 2.4.0 | 2.4.0 | Patch available | GHSA-x7gm-rfgv-w973 |
- django-filter Vendorcarltongibson Affected before 2.4.0 Fixed in 2.4.0 Patch available CNA
- django-filter (PyPI) Vendor— Affected before 2.4.0 Fixed in 2.4.0 Patch available GHSA-x7gm-rfgv-w973
CPE configurations NVD · 3
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:django-filter_project:django-filter:*:*:*:*:*:*:*:* | before 2.4.0 | Vulnerable | Django-filter Project |
| cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:* | 34 | Vulnerable | Fedoraproject |
| cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:* | 35 | Vulnerable | Fedoraproject |
- cpe:2.3:a:django-filter_project:django-filter:*:*:*:*:*:*:*:* Versions before 2.4.0 Vulnerable ·Django-filter Project
- cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:* Versions 34 Vulnerable ·Fedoraproject
- cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:* Versions 35 Vulnerable ·Fedoraproject
Remediation
- Fix · CNA django-filter (carltongibson) Fixed in 2.4.0
- Fix · GHSA-x7gm-rfgv-w973 django-filter (PyPI) Fixed in 2.4.0 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Ansible Automation Platform 1.2 | Affected | No fix yet |
| Red Hat Ceph Storage 2 | Affected | No fix planned: Out of support scope |
Timeline
- 2026-10-02 Threatist record created from CVE-2020-15225
- 2026-10-03 Alias added: GHSA-x7gm-rfgv-w973
References
Patch 1
Advisory 8
- https://github.com/carltongibson/django-filter/security/advisories/GHSA-x7gm-rfgv-w973
- https://github.com/carltongibson/django-filter/releases/tag/2.4.0
- https://pypi.org/project/django-filter/
- https://security.netapp.com/advisory/ntap-20210604-0010/
- FEDORA-2021-f213fea441
- FEDORA-2021-1acbee2459
- FEDORA-2023-4dee6d0a76
- https://nvd.nist.gov/vuln/detail/CVE-2020-15225
Other 7
- https://github.com/carltongibson/django-filter
- https://github.com/pypa/advisory-database/tree/main/vulns/django-filter/PYSEC-2021-64.yaml
- https://lists.fedoraproject.org/archives/list/[email protected]/message/DPHENTRHRAYFXYPPBT7JRHZRWILRY44S
- https://lists.fedoraproject.org/archives/list/[email protected]/message/FAT2ZAEF6DM3VFSOHKB7X3ASSHGQHJAK
- https://lists.fedoraproject.org/archives/list/[email protected]/message/SVJ7AYU6FUSU3F653YCGW5LFD3IULRSX
- https://pypi.org/project/django-filter
- https://security.netapp.com/advisory/ntap-20210604-0010
Sources
- CVE-2020-15225 · CVE Program
- CVE-2020-15225 · NVD
- FIRST EPSS
- GHSA-x7gm-rfgv-w973 · GitHub Advisory Database · CC BY 4.0
- CVE-2020-15225 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences