4.0.1.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. ==========================
  2. Django 4.0.1 release notes
  3. ==========================
  4. *January 4, 2022*
  5. Django 4.0.1 fixes one security issue with severity "medium", two security
  6. issues with severity "low", and several bugs in 4.0.
  7. CVE-2021-45115: Denial-of-service possibility in ``UserAttributeSimilarityValidator``
  8. =====================================================================================
  9. :class:`.UserAttributeSimilarityValidator` incurred significant overhead
  10. evaluating submitted password that were artificially large in relative to the
  11. comparison values. On the assumption that access to user registration was
  12. unrestricted this provided a potential vector for a denial-of-service attack.
  13. In order to mitigate this issue, relatively long values are now ignored by
  14. ``UserAttributeSimilarityValidator``.
  15. This issue has severity "medium" according to the :ref:`Django security policy
  16. <security-disclosure>`.
  17. CVE-2021-45116: Potential information disclosure in ``dictsort`` template filter
  18. ================================================================================
  19. Due to leveraging the Django Template Language's variable resolution logic, the
  20. :tfilter:`dictsort` template filter was potentially vulnerable to information
  21. disclosure or unintended method calls, if passed a suitably crafted key.
  22. In order to avoid this possibility, ``dictsort`` now works with a restricted
  23. resolution logic, that will not call methods, nor allow indexing on
  24. dictionaries.
  25. As a reminder, all untrusted user input should be validated before use.
  26. This issue has severity "low" according to the :ref:`Django security policy
  27. <security-disclosure>`.
  28. CVE-2021-45452: Potential directory-traversal via ``Storage.save()``
  29. ====================================================================
  30. ``Storage.save()`` allowed directory-traversal if directly passed suitably
  31. crafted file names.
  32. This issue has severity "low" according to the :ref:`Django security policy
  33. <security-disclosure>`.
  34. Bugfixes
  35. ========
  36. * Fixed a regression in Django 4.0 that caused a crash of
  37. ``assertFormsetError()`` on a formset named ``form`` (:ticket:`33346`).
  38. * Fixed a bug in Django 4.0 that caused a crash on booleans with the
  39. ``RedisCache`` backend (:ticket:`33361`).
  40. * Relaxed the check added in Django 4.0 to reallow use of a duck-typed
  41. ``HttpRequest`` in ``django.views.decorators.cache.cache_control()`` and
  42. ``never_cache()`` decorators (:ticket:`33350`).
  43. * Fixed a regression in Django 4.0 that caused creating bogus migrations for
  44. models that reference swappable models such as ``auth.User``
  45. (:ticket:`33366`).
  46. * Fixed a long standing bug in :ref:`geos-geometry-collections` and
  47. :class:`~django.contrib.gis.geos.Polygon` that caused a crash on some
  48. platforms (reported on macOS based on the ``ARM64`` architecture)
  49. (:ticket:`32600`).