Примечания к выпуску Django 2.0.3

6 марта 2018 г.

Django 2.0.3 исправляет две проблемы безопасности и несколько ошибок в 2.0.2. Также включены последние переводы строк от Transifex.

CVE-2018-7536: возможность отказа в обслуживании в фильтрах urlizeи urlizetruncшаблонах

django.utils.html.urlize()Функция была очень медленно , чтобы оценить определенные входы из - за катастрофические уязвимости с возвратами в двух регулярных выражениях. urlize()Функция используется для реализации urlizeи urlizetruncшаблонных фильтров, которые были таким образом уязвимы.

Проблемные регулярные выражения заменяются логикой синтаксического анализа, которая ведет себя аналогичным образом.

CVE-2018-7537: возможность отказа в обслуживании в фильтрах truncatechars_htmlи truncatewords_htmlшаблонах

Если django.utils.text.Truncator«s chars()и words()методы прошли html=Trueаргумент, они были очень медленными , чтобы оценить определенные входы из - за катастрофическую обратное прослеживание уязвимости в регулярном выражении. chars()И words()методы используются для реализации truncatechars_htmlи truncatewords_htmlфильтров шаблонов, которые были таким образом уязвимыми.

Исправлена ​​проблема с возвратом в регулярном выражении.

Исправления

  • Исправлена ​​регрессия, приводившая к сбою срезов иQuerySet.distinct().order_by() последующему count()сбою ( # 29108 ).
  • Приоритет форматам ввода даты, времени и времени без %fтайского языка, чтобы исправить виджет выбора времени администратора, отображающий «undefined» ( # 29109 ).
  • Исправлен сбой с QuerySet.order_by(Exists(...))( # 29118 ).
  • Сделано Q.deconstruct()детерминированным с несколькими аргументами ключевого слова ( # 29125 ). Вам может потребоваться изменить Q's в существующих миграциях или принять автоматически сгенерированную миграцию.
  • Исправлена ​​регрессия, при которой происходит When()сбой выражения с аргументом списка ( # 29166 ).
  • Исправлен сбой при использовании Window()выражения в подзапросе ( # 29172 ).
  • Исправлен AbstractBaseUser.normalize_username()сбой, если username аргумент не является строкой ( # 29176 ).

Copyright ©2021 All rights reserved