Incorrect Conversion between Numeric Types Affecting django-filter package, versions <2.4.0-1


Severity

Recommended
0.0
medium
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
0.31% (54th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-DEBIANUNSTABLE-DJANGOFILTER-1290145
  • published6 May 2021
  • disclosed29 Apr 2021

Introduced: 29 Apr 2021

CVE-2020-15225  (opens in a new tab)
CWE-681  (opens in a new tab)

How to fix?

Upgrade Debian:unstable django-filter to version 2.4.0-1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream django-filter package and not the django-filter package as distributed by Debian. See How to fix? for Debian:unstable relevant fixed versions and status.

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.

CVSS Base Scores

version 3.1