aboutsummaryrefslogtreecommitdiffstats
path: root/russian/lts/security/2014/dla-65.wml
blob: 3b666e4879ec51519fdfbb18916410d51e79d053 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#use wml::debian::translation-check translation="1d1c1ba842e225bf68a6fed5744786cc779234f7" maintainer="Lev Lamberov"
<define-tag description>обновление безопасности LTS</define-tag>
<define-tag moreinfo>
<p>Данное обновление исправляет проблему с функцией reverse(), порождающей внешние URL;
отказ в обслуживании, касающийся загрузок файлов; потенциальное хищение сессии
с помощью удалённого ПО промежуточного уровня; утечку данных в интерфейсе
администратора.</p>

<p>Данное обновление создано благодаря спонсорам Debian LTS:
<a href="http://www.freexian.com/services/debian-lts.html">http://www.freexian.com/services/debian-lts.html</a></p>

<ul>

<li><a href="https://security-tracker.debian.org/tracker/CVE-2014-0480">CVE-2014-0480</a>

    <p>Django включает в себя вспомогательную функцию django.core.urlresolvers.reverse,
    обычно используемую для создания URL из ссылки на функцию вида или
    имя шаблона URL. Тем не менее, если ей переданы входные данные, начинающиеся с двух
    косых черт (//), то reverse() создаёт относительные (относительно схемы) URL
    к другим узлам, что позволяет злоумышленнику, которому известно о небезопасном использовании
    функции reverse() (например, в ситуации, когда конечный пользователь может управлять целью
    перенаправления), создавать ссылки на сайты по его
    выбору, что позволяет выполнять выуживание и другие виды атак.</p>

    <p>Для исправления этой проблемы при преобразовании URL теперь выполняется проверка того, что URL не начинается с
    двух косых черт (//), а также замена второй косой черты на закодированный эквивалент
    (%2F). Такой подход гарантирует, что семантика остаётся той же, а
    URL создаются относительно домена, а не относительно схемы.</p></li>

<li><a href="https://security-tracker.debian.org/tracker/CVE-2014-0481">CVE-2014-0481</a>

    <p>При настройках по умолчанию, когда система Django для обработки загрузки файлов
    получает файл, который должен иметь путь и имя, совпадающие с уже существующим
    файлом, то делается попытка создать новое уникальное имя файла путём добавления
    символа подчёркивания и целого числа в конце (сохраняемого на диск)
    имени файла, при этом число увеличивается (например, _1, _2 и т. д.) до тех пор, пока
    не будет создано такое имя файла, которое не вступает в конфликт с уже существующими файлами.</p>

    <p>Злоумышленник может использовать последовательное поведение кода для
    создания имени файла, загрузив множество небольших файлов, имеющих одно и то же
    имя; в ходе их обработки Django порождает увеличивающееся число
    вызовов os.stat() в попытке создания уникального имени файла.
    В результате даже относительно небольшое число таких загрузок может
    существенно снизить производительность системы.</p>

    <p>Для исправления этой проблемы система загрузки файлов в Django более не использует последовательные
    имена с целыми числами для того, чтобы не происходили конфликты на диске; вместо этого к имени файла
    добавляется короткая случайная строка с числами и буквами, что не позволяет использовать
    создание множества конфликтующих имён файлов.</p></li>

<li><a href="https://security-tracker.debian.org/tracker/CVE-2014-0482">CVE-2014-0482</a>

    <p>Django содержит ПО промежуточного уровня, django.contrib.auth.middleware.RemoteUserMiddleware,
    а на движке аутентификации &mdash; django.contrib.auth.backends.RemoteUserBackend,
    которое использует заголовок REMOTE_USER для целей аутентификации.</p>

    <p>При некоторых обстоятельствах использование этого ПО промежуточного уровня и этого движка может приводить к
    тому, что один пользователь получает сессию другого пользователя в случае изменения заголовка REMOTE_USER
    без соответствующих действий по входу/выходу.</p>

    <p>Для исправления этой проблемы ПО промежуточного уровня выполняет проверку того, что изменение
    REMOTE_USER без явного выполнения выхода обязательно приводит к выходу и последующей
    процедуре входа до момента принятия нового REMOTE_USER.</p></li>

<li><a href="https://security-tracker.debian.org/tracker/CVE-2014-0483">CVE-2014-0483</a>

    <p>Интерфейс администратора Django, django.contrib.admin, предлагает возможность,
    посредством которой связанные объекты могут отображаться во всплывающем окне для их выбора.
    Этот механизм основывается на помещении значений в URL и строку запроса,
    которые определяют связанную модель для отображения, а также поле, через которое
    реализуется данное отношение. Этот механизм выполняет проверки прав доступа
    на уровне класса модели как целого.</p>

    <p>Тем не менее, этот механизм не выполняет проверку того, что указанное поле представляет
    отношение между моделями. Таким образом, пользователь, имеющий доступ к
    интерфейсу администратора, а также достаточные знания структуры модели и соответствующих
    URL, может построить всплывающие виды, которые будут отображать
    значения несвязанных полей, включая поля, которые не предназначаются
    разработчиком приложения для показа в таком виде.</p>

    <p>Для исправления этой проблемы в интерфейсе администратора в дополнение к обычным
    проверкам прав доступа выполняются проверки того, что конкретное поле представляет
    отношение к модели, связанной с администратором, и вызывает
    исключение в том случае, если одно из условий не выполняется.</p></li>

</ul>

<p>В Debian 6 <q>Squeeze</q> эти проблемы были исправлены в пакете python-django версии 1.2.3-3+squeeze11</p>
</define-tag>

# do not modify the following line
#include "$(ENGLISHDIR)/lts/security/2014/dla-65.data"
# $Id$

© 2014-2024 Faster IT GmbH | imprint | privacy policy