The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В BugZilla устранена опасная уязвимость"
Отправлено opennews, 07-Окт-14 13:50 
В выпусках (http://www.bugzilla.org/security/4.0.14/) 4.0.14, 4.2.10, 4.4.5 и 4.5.5  системы для ведения базы данных ошибок, контроля за их исправлением и общего координирования процесса разработки BugZilla  устранена опасная уязвимость (http://blog.gerv.net/2014/10/new-class-of-vulnerability-in-p.../) (CVE-2014-1572 (https://bugzilla.mozilla.org/show_bug.cgi?id=1074812)), позволяющая получить доступ новых пользователей к закрытым группам. Теоретически аналогичные ошибки могут присутствовать и в других проектах на языке Perl, использующих модуль CGI.pm и заполняющих хэши неэкранированными значениями функции param.


Проблемы вызвана непониманием особенности разбора повторяющихся параметров в URL - в случае передаи скрипту нескольких параметров с одинаковым именем, функция param модуля CGI.pm возвращает не скалярную переменную, а массив, в котором перечислены все значения подобных параметров. При заполнении хэша открытым списком по сути производится перечисление пар ключ/значение (символ "=>" в присвоении вполне может быть заменён на запятую), поэтому если вместо одного из аргументов передан массив и этот аргумент не экранирован, то можно перечислить в данном массиве имена ключей и их значение, и данные ключи будут определены в хэше.


Например, в случае запроса "index.cgi?realname=JRandomUser&realname=login_name&realname=admin@mozilla.com", переменная realname передаётся три раза, что приведёт к выдаче функцией param массива ("JRandomUser", "login_name", "admin@mozilla.com"). Если в коде присутствует присвоение "realname   => $cgi->param('realname')", то по сути этот блок можно отождествить с конструкцией  ("realname", "JRandomUser", "login_name", "admin@mozilla.com"), что аналогично представлению (realname  => "JRandomUser", login_name => "admin@mozilla.com"), т.е. осуществлено определение нового ключа "login_name". Простейшим способом устранения проблемы является явное определение скалярного типа переменной, т.е. указание "realname  => scalar $cgi->param('realname')".


Используя данный метод выявившие уязвимость исследователи безопасности смогли (http://www.checkpoint.com/blog/bug-bug-tracker/) завести (https://bugzilla.mozilla.org/show_bug.cgi?id=1074812) аккаунты с доступом к закрытым областям BugZilla проекта Mozilla, обойдя стадию верификации почтового адреса. Уязвимость использовалась для передачи фиктивного email в момент определения группы пользователя - bugzilla автоматически назначает новых пользователей в группы, на основании проверки email (например, можно вместо реального адреса, заполнить поле значением в поддомене @mozilla.com, при том, что изначально для верификации использовался совершенно другой адрес).

Одним из векторов атаки может быть получение доступа к записям, в которы  отвечающие за безопасность команды разработчиков могут обсуждать ещё не исправленные уязвимости, до их придания огласке. BugZilla достаточно широко используется для координации внесения исправлений в открытых проектах, например, применяется сообществами
Apache, LibreOffice, Mozilla, ядра Linux , OpenSSH, Eclipse, KDE,  GNOME.

URL: http://krebsonsecurity.com/2014/10/bugzilla-zero-day-exposes.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=40766

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру