==========================Django 4.0.1 release notes==========================*January 4, 2022*Django 4.0.1 fixes one security issue with severity "medium", two securityissues with severity "low", and several bugs in 4.0.CVE-2021-45115: Denial-of-service possibility in ``UserAttributeSimilarityValidator``=====================================================================================:class:`.UserAttributeSimilarityValidator` incurred significant overheadevaluating submitted password that were artificially large in relative to thecomparison values. On the assumption that access to user registration wasunrestricted 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 informationdisclosure or unintended method calls, if passed a suitably crafted key.In order to avoid this possibility, ``dictsort`` now works with a restrictedresolution logic, that will not call methods, nor allow indexing ondictionaries.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 suitablycrafted 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:meth:`~django.test.SimpleTestCase.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 formodels 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 someplatforms (reported on macOS based on the ``ARM64`` architecture)(:ticket:`32600`).