Взломан багтрекер Mozilla, хакеры украли данные о 185 багах

Взломан багтрекер Mozilla, хакеры украли данные о 185 багах

Представители Mozilla обнародовали отчет о взломе багтрекера Bugzilla, согласно которому, неизвестным удалось похитить информацию о 185 «непубличных» уязвимостях в браузере Firefox и других продуктах Mozilla. Предположительно, хакеры использовали эти данные для атак на пользователей «Огнелиса».

Согласно официальному FAQ об инциденте, хакеры проникли в систему, получив доступ к некому привилегированному аккаунту и, через него, к закрытым обсуждениям. Расследование компании показало, что один из пользователей, очевидно, использовал один и тот же пароль для Bugzilla и других сайтов. Один из сайтов оказался скомпрометирован, в результате чего, пароль попал в руки злоумышленников. Получив доступ к аккаунту Bugzilla, те добрались до информации об уязвимостях в Firefox и других проектах Mozilla, пишет xakep.ru.

Несанкционированный доступ к багтрекеру был у хакеров давно. Первый подтвержденный случай неавторизованного доступа датирован сентябрем 2014 года. Некоторые улики указываю на то, что хакеры, возможно, имели доступ к Bugzilla даже дольше — начиная с сентября 2013 года.

Суммарно за это время атакующие получили доступ к 185 уязвимостям. 110 из них не относились к проблемам с безопасностью, данные о них не раскрывались, так как были сопряжены с проприетарной информацией. 22 оценивались как проблемы средней тяжести. 53 оценивались как критические. 10 багов, из числа критических, долгое время оставались в неисправленном состоянии, в то время, как 43 были своевременно устранены. Что касается десятки, которой могли воспользоваться хакеры:

  • 2 бага были устранены в течение менее чем 7 дней
  • 5 багов устранили в период от 7-36 дней
  • 3 бага оставались неисправленными более 36 дней (131 день, 157 дней и 335 дней)

Теперь представители Mozilla пишут, что злоумышленники, похоже, действительно использовали для атак некоторые из десятка, неисправленных на тот момент, багов. Об одной такой проблеме компания уже рассказывала ранее, в августе 2015 года. Тогда пользователям Firefox угрожала реклама на российских новостных сайтах. Используя дырку в Firefox, малварь переправляла конфиденциальные данные пользователей на предположительно украинский сервер. Конкретно эта уязвимость была закрыта 6 августа 2015 года.

Представители Mozilla сообщают, что упомянутый привилегированный аккаунт закрыт, а к расследованию случившегося привлечены специалисты со стороны – некая компания киберкриминалистов. В последнем релизе Firefox, вышедшем 27 августа 2015 года, все упомянутые уязвимости были успешно исправлены для всех платформ.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

Правила обработки запросов при этом добавляются динамически, а фильтрация осуществляется по регулярным выражениям, соответствующим подмножествам знаков, которые могут присутствовать на определенных позициях в URL.

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

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