Совсем недавно компания 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 сентября текущего года. Баг уже был исправлен в наиболее новых версиях багтрекера, так что всем рекомендуется обновиться.