1. ===========================
    
  2. Django 1.4.22 release notes
    
  3. ===========================
    
  4. 
    
  5. *August 18, 2015*
    
  6. 
    
  7. Django 1.4.22 fixes a security issue in 1.4.21.
    
  8. 
    
  9. It also fixes support with pip 7+ by disabling wheel support. Older versions
    
  10. of 1.4 would silently build a broken wheel when installed with those versions
    
  11. of pip.
    
  12. 
    
  13. Denial-of-service possibility in ``logout()`` view by filling session store
    
  14. ===========================================================================
    
  15. 
    
  16. Previously, a session could be created when anonymously accessing the
    
  17. ``django.contrib.auth.views.logout()`` view (provided it wasn't decorated
    
  18. with :func:`~django.contrib.auth.decorators.login_required` as done in the
    
  19. admin). This could allow an attacker to easily create many new session records
    
  20. by sending repeated requests, potentially filling up the session store or
    
  21. causing other users' session records to be evicted.
    
  22. 
    
  23. The :class:`~django.contrib.sessions.middleware.SessionMiddleware` has been
    
  24. modified to no longer create empty session records, including when
    
  25. :setting:`SESSION_SAVE_EVERY_REQUEST` is active.
    
  26. 
    
  27. Additionally, the ``contrib.sessions.backends.base.SessionBase.flush()`` and
    
  28. ``cache_db.SessionStore.flush()`` methods have been modified to avoid creating
    
  29. a new empty session. Maintainers of third-party session backends should check
    
  30. if the same vulnerability is present in their backend and correct it if so.