Критическая уязвимость в Bugzilla позволяет воровать баги

Критическая уязвимость в Bugzilla позволяет воровать баги

Совсем недавно компания Mozilla сообщала о том, что некие злоумышленники сумели взломать аккаунт одного из привилегированных пользователей багтрекера Bugzilla и получили несанкционированный доступ к закрытым для широкой публики багам.

А теперь исследователь Нитанель Рубин (Netanel Rubin), сотрудник компании PerimeterX, вообще обнаружил в Bugzilla критическую уязвимость, при помощи которой подобный трюк сможет провернуть даже школьник.

Рубин рассказал, что уязвимость (CVE-2015-4499) уходит корнями к версии 2.0, и советует всем, кто работает с Bugzilla, обновиться до более новых и актуальных версий: 5.0.1, 4.4.10 или 4.2.15. Для данных версий проблема уже была устранена.

Баг основывается на том, что багтрекер раздает права пользователям, отталкиваясь от их… email-адресов. Соль в том, что когда пользователь регистрирует аккаунт с ящика, домен которого относится к списку доверенных организаций, такому юзеру автоматически выдаются привилегированные права. В том числе, пользователь получает возможность видеть «конфиденциальные» уязвимости. К примеру, если зайти на bugzilla.mozilla.org и зарегистрировать аккаунт с ящика, расположенного на mozilla.com, такой пользователь сможет видеть даже скрытые от посторонних глаз баги, передает xakep.ru.

 

Права доступа на bugzilla.mozilla.org


 

Проблема, обнаруженная Рубином, заключается в том, что атакующий может зарегистрировать аккаунт с любого email-адреса, на любом домене, даже если на самом деле у хакера там нет  никакого почтового ящика.

Дело в том, что данные пользователя хранятся в БД в «tinytext», чей размер не должен превышать 255 байт. Если запись все же превышает 255 байт, данные искажаются, что и позволяет атакующим регистрировать аккаунты на собственную почту, тогда как багтрекер будет считать, что имеет дело с одним из доверенных адресов.

Осуществить атаку невероятно легко. При регистрации нового пользователя, Bugzilla отправляет на указанный юзером  email ссылку подтверждения регистрации. Чтобы обмануть багтрекер, достаточно указать при регистрации почту видаxxxxx[...]xxx@mozilla.com.attackerdomain.com. Из-за лимита в 255 байт кусок attackerdomain.com пропадет из БД, он просто будет обрезан, и система решит, что атакующий действительно регистрируется с адреса на mozilla.org. При этом email с подтверждением регистрации придет на настоящую почту атакующего, будто ничего не случилось, позволив ему завершить процедуру регистрации. Рубин пишет, что баг срабатывает в том случае, если длина адреса превышает 127 символов.

Уязвимости подвержены Bugzilla версии 2.0, 4.2.14, 4.3.1, 4.4.9, 4.5.1 и 5.0.

Исследователь сообщил о проблеме компании Mozilla еще 7 сентября текущего года. Баг уже был исправлен в наиболее новых версиях багтрекера, так что всем рекомендуется обновиться.

Критическая уязвимость в плагине WPvivid Backup затронула 900 000 сайтов

Уязвимость, выявленная в популярном WordPress-плагине для создания резервных копий, позволяет без аутентификации загрузить на сайт вредоносный код PHP и запустить его на исполнение. Патч включен в состав WPvivid Backup & Migration 0.9.124.

Уязвимости подвержены все прежние версии продукта. Ввиду высокой опасности и масштабности проблемы (на счету WPvivid Backup уже свыше 900 тыс. установок) пользователям настоятельно рекомендуется произвести обновление.

Правда, в блог-записи Wordfence сказано, что CVE-2026-1357 (9,8 балла CVSS) критична лишь для тех, у кого настройки плагина предусматривают обработку сгенерированным ключом — в обеспечение загрузки резервных копий с других сайтов. По умолчанию эта возможность отключена, а срок действия ключа ограничен 24 часами.

Согласно описанию, причин появления уязвимости две: неадекватная обработки ошибок при расшифровке по RSA и отсутствие санации пути при записи загруженных файлов.

Как оказалось, когда плагин тщетно пытался расшифровать сеансовый ключ, он не завершал выполнение, а передавал ложное значение $key в phpseclib для инициализации шифрования.

Криптобиблиотека воспринимала его как строку нулевых байтов, что открыло возможность для шифрования полезной нагрузки дефолтным, легко угадываемым 0-байтовым ключом.

 

Ситуацию усугубило отсутствие проверок типа файлов и их расширений в функции send_to_site(). Это провоцировало выход за пределы защищенного каталога резервных копий — загрузку на сервер произвольного PHP-кода с записью в публично доступные места с тем, чтобы он каждый раз отрабатывал в браузере.

Апдейт, устраняющий эти недостатки, вышел 28 января. Автор опасной находки получил 2145 долларов в рамках программы Wordfence Bug Bounty.

RSS: Новости на портале Anti-Malware.ru