ghsa-x7gm-rfgv-w973
Vulnerability from github
8.7 (High) - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Impact
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.
Patches
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.
Workarounds
Users may manually apply an equivalent validator if they are not able to upgrade.
For more information
If you have any questions or comments about this advisory: * Open an issue in the django-filter repo
Thanks to Marcin Waraksa for the report.
{ "affected": [ { "package": { "ecosystem": "PyPI", "name": "django-filter" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "2.4.0" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2020-15225" ], "database_specific": { "cwe_ids": [ "CWE-681" ], "github_reviewed": true, "github_reviewed_at": "2020-09-28T19:04:39Z", "nvd_published_at": "2021-04-29T21:15:00Z", "severity": "HIGH" }, "details": "### Impact\n\nAutomatically 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. \n\n### Patches\n\nVersion 2.4.0+ applies a `MaxValueValidator` with a a default `limit_value` of 1e50 to the form field used by `NumberFilter` instances. \n\nIn 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. \n\n### Workarounds\n\nUsers may manually apply an equivalent validator if they are not able to upgrade. \n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [the django-filter repo](https://github.com/carltongibson/django-filter)\n\nThanks to Marcin Waraksa for the report. \n", "id": "GHSA-x7gm-rfgv-w973", "modified": "2024-09-16T22:10:02Z", "published": "2020-09-28T19:05:29Z", "references": [ { "type": "WEB", "url": "https://github.com/carltongibson/django-filter/security/advisories/GHSA-x7gm-rfgv-w973" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-15225" }, { "type": "WEB", "url": "https://github.com/carltongibson/django-filter/commit/340cf7a23a2b3dcd7183f6a0d6c383e85b130d2b" }, { "type": "PACKAGE", "url": "https://github.com/carltongibson/django-filter" }, { "type": "WEB", "url": "https://github.com/carltongibson/django-filter/releases/tag/2.4.0" }, { "type": "WEB", "url": "https://github.com/pypa/advisory-database/tree/main/vulns/django-filter/PYSEC-2021-64.yaml" }, { "type": "WEB", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DPHENTRHRAYFXYPPBT7JRHZRWILRY44S" }, { "type": "WEB", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/FAT2ZAEF6DM3VFSOHKB7X3ASSHGQHJAK" }, { "type": "WEB", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/SVJ7AYU6FUSU3F653YCGW5LFD3IULRSX" }, { "type": "WEB", "url": "https://pypi.org/project/django-filter" }, { "type": "WEB", "url": "https://security.netapp.com/advisory/ntap-20210604-0010" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "type": "CVSS_V3" }, { "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N", "type": "CVSS_V4" } ], "summary": "Potential DoS with NumberFilter conversion to integer values." }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.