1.1.3.txt 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. ==========================
  2. Django 1.1.3 release notes
  3. ==========================
  4. Welcome to Django 1.1.3!
  5. This is the third "bugfix" release in the Django 1.1 series,
  6. improving the stability and performance of the Django 1.1 codebase.
  7. With one exception, Django 1.1.3 maintains backwards compatibility
  8. with Django 1.1.2. It also contains a number of fixes and other
  9. improvements. Django 1.1.2 is a recommended upgrade for any
  10. development or deployment currently using or targeting Django 1.1.
  11. For full details on the new features, backwards incompatibilities, and
  12. deprecated features in the 1.1 branch, see the :doc:`/releases/1.1`.
  13. Backwards incompatible changes
  14. ==============================
  15. Restricted filters in admin interface
  16. -------------------------------------
  17. The Django administrative interface, ``django.contrib.admin``, supports
  18. filtering of displayed lists of objects by fields on the corresponding
  19. models, including across database-level relationships. This is
  20. implemented by passing lookup arguments in the querystring portion of
  21. the URL, and options on the ModelAdmin class allow developers to
  22. specify particular fields or relationships which will generate
  23. automatic links for filtering.
  24. One historically-undocumented and -unofficially-supported feature has
  25. been the ability for a user with sufficient knowledge of a model's
  26. structure and the format of these lookup arguments to invent useful
  27. new filters on the fly by manipulating the querystring.
  28. However, it has been demonstrated that this can be abused to gain
  29. access to information outside of an admin user's permissions; for
  30. example, an attacker with access to the admin and sufficient knowledge
  31. of model structure and relations could construct query strings which --
  32. with repeated use of regular-expression lookups supported by the
  33. Django database API -- expose sensitive information such as users'
  34. password hashes.
  35. To remedy this, ``django.contrib.admin`` will now validate that
  36. querystring lookup arguments either specify only fields on the model
  37. being viewed, or cross relations which have been explicitly
  38. allowed by the application developer using the pre-existing
  39. mechanism mentioned above. This is backwards-incompatible for any
  40. users relying on the prior ability to insert arbitrary lookups.