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