URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 104781
[ Назад ]

Исходное сообщение
"Уязвимость в Bugzilla, позволяющая завести привилегированный..."

Отправлено opennews , 18-Сен-15 10:15 
В Bugzilla (http://www.bugzilla.org/), платформе для ведения базы данных ошибок, контроля за их исправлением и общего координирования процесса разработки,  выявлена (http://blog.perimeterx.com/bugzilla-cve-2015-4499) критическая уязвимость (https://www.bugzilla.org/security/4.2.14/) (CVE-2015-4499 (https://bugzilla.mozilla.org/show_bug.cgi?id=1202447)), дающая возможность завести привилегированный аккаунт, имеющий доступ к закрытой информации, например, к непубличным обсуждениям неисправленных уязвимостей. Эффект от указанной уязвимости напоминает раскрытую (https://www.opennet.me/opennews/art.shtml?num=42912) несколько недель назад атаку на Bugzilla, в результате которой злоумышленники получили доступ к информации о неисправленных уязвимостях в Firefox в результате перехвата пароля одного из пользователей.


Уязвимость уже устранена (https://www.bugzilla.org/news/#release501) в выпусках Bugzilla 5.0.1, 4.4.10 и 4.2.15. Суть проблемы в том, что при сохранении в MySQL логин/email молча обрезается до 255 символов, так как столбец в БД имеет тип tinytext. Таким образом, атакующий может завести аккаунт с адресом "bbbbb...@mozilla.org.site.com", хвост ".site.com" которого будет за пределами 255 байт. Такой аккаунт пройдёт процедуру подтверждения (email с кодом подтверждения будет отправлен на необрезанный адрес), но будет сохранён в БД как "bbbbb...@mozilla.org", что позволит ему просматривать закрытые обсуждения. При заведении аккаунта Bugzilla автоматически добавит подложный аккаунт в группы, соответствующие правилам, заданным (https://bugzilla.readthedocs.org/en/5.0/administering/groups...) через регулярные выражения, например, в bugzilla.mozilla.org добавление в закрытые группы производилось при наличии в email домена "mozilla.org".

URL: http://blog.perimeterx.com/bugzilla-cve-2015-4499
Новость: http://www.opennet.me/opennews/art.shtml?num=42983


Содержание

Сообщения в этом обсуждении
"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 10:15 
Отличный баг!

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 19:29 
Ну что, заспорим что ЭТИМ программистам никакой Rust не поможет?

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Обнимашки , 18-Сен-15 20:45 
Этим — нет.
Но они ж не одни на свете живут.

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 10:16 
аплодирую програмистам

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 10:35 
Помоему обрезать любые данные для того, чтобы они искуственно вместились в БД это как-то по колхозному. Если не влезает надо всегда генерить эксепшн и чтоб юзер знал, что данные не влезают и их надо бы сократить, а не молча проглатывать а бы что.

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 11:11 
MySQL

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 11:26 
Ничего плохого в этом не вижу

А вот в том что надо знать хорошо базу которую используешь никогда не сомневался
# cat /etc/my.cnf.d/my.cnf
[mysqld]
sql-mode="NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
innodb_strict_mode=on
innodb_file_format=Barracuda
innodb_large_prefix=on

Решит все проблемы


"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Нанобот , 18-Сен-15 11:54 
>Решит все проблемы

LOL

Да, решит, тут ты, конечно прав. А ещё создаст новые проблемы, и их будет больше, чем было до "решения всех проблем". А если сделать такое на сервере с большим количеством разных баз, то решатор проблем рискует получить физические повреждения от пользователей.


"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 19:35 
> Решит все проблемы

Странно, проблему беженцев что-то плохо решает. FAIL.


"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Обнимашки , 18-Сен-15 20:47 
> Решит все проблемы

Все проблемы решит проверять ввод.



"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 19-Сен-15 01:14 
Вы коммит то смотрели?

Там проверка была вот такая:
my $ret = ($addr =~ /$match/ && $email !~ /\P{ASCII}/ && $email =~ /^$addr_spec$/);

стала вот такая:
$addr =~ /$match/
+        && $email !~ /\P{ASCII}/
+        && $email =~ /^$addr_spec$/
+        && length($email) <= 127)

Вы хоть обпроверяйтесь от забывчивости, невнимательности и просто от того что схема БД может со временем менятся это не спасет. Правильный ответ уметь тюнить базу, чтоб она не обрезала данные если не может по какой либо причине сохранить, лучше пусть SQL error кажет.


"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 11:14 
>добавит аккаунт в группы, соответствующие правилам, заданным через регулярные выражения
>регулярные выражения

Повеселили, спасибо.


"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 11:16 
Забавно, а подтверждающий email отсылали по необрезанному?

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 19:35 
Да, в новости об этом написано.

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 12:13 
На Perl пишут только в Mail.ru и дилетанты!

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Анонимоус , 18-Сен-15 13:11 
Ну да, в приложениях на PHP такие баги не возможны

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено йцу , 18-Сен-15 14:44 
Да тут в общем-то неважно - Perl, PHP или брейнфак. Просто MySQL по-дефолту уж очень "всеяден" и вместо того чтобы ругнуться на попытку вставить слишком длинную строку тупо её обрезает.

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено SysA , 18-Сен-15 13:41 
> На Perl пишут только в Mail.ru и дилетанты!

Ага, то-то в трейдинг- и BI-компаниях дилетантов развелось!.. :)


"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 13:48 
Это mysql молча текст обрезает

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аналитик , 18-Сен-15 16:21 
Минусы за Perl или mailru?

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Ананем кто же еще , 18-Сен-15 14:32 
Mysql какой-то даунский, придумавшему тихенько портить данные вместо генерации ошибки надо оторвать руки. Это уже не первый такого рода баг который я вижу на опеннете, а сколько их еще есть

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Аноним , 18-Сен-15 15:11 
Некоторые пишут что тихое обрезание данных нормально. Только вот потерю введенных данных при таком раскладе можно заметить далеко не сразу. MySQL вообще много где неадекватно себя ведет. И самое странное некоторые подомные мелочи лежат в багтрекере десятилетиями.

"Уязвимость в Bugzilla, позволяющая завести привилегированный..."
Отправлено Sw00p aka Jerom , 18-Сен-15 16:37 
а как же ACID ?

"Уязвимость в Bugzilla, позволяющая завести..."
Отправлено arisu , 20-Сен-15 05:58 
а потому что не надо экономить на DBA. даже стадо хипстеров не заменит одного специалиста.