Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2020-15225

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2020-15225
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 10:53 UTC · Revision 1

Source evidence

CVE-2020-15225

core-osv · Original source

Published 29 Apr 2021, 21:15 UTC

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.

osv:CVE-2020-15225
Complete source record
{
  "id": "5c0c555fa874db14db17851e7b747db61aee3da4d8b0699127b9eb4e38c436a8",
  "url": "https://osv.dev/vulnerability/CVE-2020-15225",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2020-15225",
    "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.",
    "evidence": "osv:CVE-2020-15225",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2020-15225",
      "aliases": [
        "CVE-2020-15225",
        "GHSA-x7gm-rfgv-w973",
        "PYSEC-2021-64"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/carltongibson/django-filter",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "78210722d920f803a8142e48969bc37f0f8324ed"
                },
                {
                  "fixed": "340cf7a23a2b3dcd7183f6a0d6c383e85b130d2b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:django-filter_project:django-filter:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.4.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "340cf7a23a2b3dcd7183f6a0d6c383e85b130d2b"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "78210722d920f803a8142e48969bc37f0f8324ed"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "2.4.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "2.3.0",
            "2.2.0",
            "2.1.0",
            "2.0.0",
            "1.1.0",
            "1.0.4",
            "1.0.2",
            "1.0.1",
            "1.0.0",
            "0.15.3",
            "0.15.2",
            "0.15.1",
            "0.15.0",
            "0.14.0",
            "v0.13",
            "0.12.0",
            "0.11.0",
            "v0.10.0",
            "0.9.1",
            "0.9.0",
            "v0.8",
            "v0.7",
            "v0.6",
            "v0.6a1",
            "0.5.4",
            "0.5.3",
            "0.5.2",
            "0.5.1",
            "0.5.0",
            "0.2.0",
            "0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-15225.json"
          }
        }
      ],
      "modified": "2026-10-20T10:51:54.052442709Z",
      "provider": "osv",
      "references": [
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DPHENTRHRAYFXYPPBT7JRHZRWILRY44S/",
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/FAT2ZAEF6DM3VFSOHKB7X3ASSHGQHJAK/",
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SVJ7AYU6FUSU3F653YCGW5LFD3IULRSX/",
        "https://github.com/carltongibson/django-filter/releases/tag/2.4.0",
        "https://github.com/carltongibson/django-filter/security/advisories/GHSA-x7gm-rfgv-w973",
        "https://security.netapp.com/advisory/ntap-20210604-0010/",
        "https://github.com/carltongibson/django-filter/commit/340cf7a23a2b3dcd7183f6a0d6c383e85b130d2b",
        "https://pypi.org/project/django-filter/"
      ],
      "provider_metadata": {
        "unresolved_ranges": [
          {
            "cpes": [
              "cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*",
              "cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*"
            ],
            "vendor_product": "fedoraproject:fedora",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "34"
                  },
                  {
                    "last_affected": "34"
                  },
                  {
                    "introduced": "35"
                  },
                  {
                    "last_affected": "35"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          }
        ]
      }
    },
    "related_cves": [
      {
        "value": "CVE-2020-15225",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 383103,
  "published_at": "2021-04-29T21:15:08.49+00:00"
}