1. ==========================
    
  2. Django 3.2.4 release notes
    
  3. ==========================
    
  4. 
    
  5. *June 2, 2021*
    
  6. 
    
  7. Django 3.2.4 fixes two security issues and several bugs in 3.2.3.
    
  8. 
    
  9. CVE-2021-33203: Potential directory traversal via ``admindocs``
    
  10. ===============================================================
    
  11. 
    
  12. Staff members could use the :mod:`~django.contrib.admindocs`
    
  13. ``TemplateDetailView`` view to check the existence of arbitrary files.
    
  14. Additionally, if (and only if) the default admindocs templates have been
    
  15. customized by the developers to also expose the file contents, then not only
    
  16. the existence but also the file contents would have been exposed.
    
  17. 
    
  18. As a mitigation, path sanitation is now applied and only files within the
    
  19. template root directories can be loaded.
    
  20. 
    
  21. CVE-2021-33571: Possible indeterminate SSRF, RFI, and LFI attacks since validators accepted leading zeros in IPv4 addresses
    
  22. ===========================================================================================================================
    
  23. 
    
  24. :class:`~django.core.validators.URLValidator`,
    
  25. :func:`~django.core.validators.validate_ipv4_address`, and
    
  26. :func:`~django.core.validators.validate_ipv46_address` didn't prohibit leading
    
  27. zeros in octal literals. If you used such values you could suffer from
    
  28. indeterminate SSRF, RFI, and LFI attacks.
    
  29. 
    
  30. :func:`~django.core.validators.validate_ipv4_address` and
    
  31. :func:`~django.core.validators.validate_ipv46_address` validators were not
    
  32. affected on Python 3.9.5+.
    
  33. 
    
  34. Bugfixes
    
  35. ========
    
  36. 
    
  37. * Fixed a bug in Django 3.2 where a final catch-all view in the admin didn't
    
  38.   respect the server-provided value of ``SCRIPT_NAME`` when redirecting
    
  39.   unauthenticated users to the login page (:ticket:`32754`).
    
  40. 
    
  41. * Fixed a bug in Django 3.2 where a system check would crash on an abstract
    
  42.   model (:ticket:`32733`).
    
  43. 
    
  44. * Prevented unnecessary initialization of unused caches following a regression
    
  45.   in Django 3.2 (:ticket:`32747`).
    
  46. 
    
  47. * Fixed a crash in Django 3.2 that could occur when running ``mod_wsgi`` with
    
  48.   the recommended settings while the Windows ``colorama`` library was installed
    
  49.   (:ticket:`32740`).
    
  50. 
    
  51. * Fixed a bug in Django 3.2 that would trigger the auto-reloader for template
    
  52.   changes when directory paths were specified with strings (:ticket:`32744`).
    
  53. 
    
  54. * Fixed a regression in Django 3.2 that caused a crash of auto-reloader with
    
  55.   ``AttributeError``, e.g. inside a ``Conda`` environment (:ticket:`32783`).
    
  56. 
    
  57. * Fixed a regression in Django 3.2 that caused a loss of precision for
    
  58.   operations with ``DecimalField`` on MySQL (:ticket:`32793`).