← volver
CVE-2020-15225

Denial of Service vulnerability in django-filter

CVSS 7.5 HIGHEPSS 1.8%CWE-681
En resumen

django-filter era vulnerable a ataques de denegación de servicio cuando se enviaban números en formato exponencial con exponentes muy grandes (como 1e999999), causando que el servidor se congelara o colapsara. Esto fue corregido en la versión 2.4.0 añadiendo validación de límites.

Detalle técnico

Las instancias generadas automáticamente de NumberFilter en django-filter < 2.4.0 no validaban la notación exponencial antes de la conversión a entero, permitiendo ataques DoS mediante exponentes extremadamente grandes (ej: 1e50+) que consumían CPU excesiva durante el análisis. La corrección introduce MaxValueValidator con límite predeterminado de 1e50 y método get_max_validator() para personalización.

Resumen generado y traducido por IA a partir de la descripción oficial.
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:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

¿Quieres saber si tu infraestructura está expuesta a esto?

Hablar con TrueHacking →