Примечания к выпуску 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 ©2020 All rights reserved