WebGL и Workers в Chrome 153 допускают чтение чужой памяти и выполнение кода

Google Chrome

Google закрыла в Chrome 153 сразу 42 уязвимости. Три из них компания относит к критическому уровню. Ошибки затрагивают графическую подсистему WebGL, внутренние механизмы браузера и фоновые сценарии Workers. Использование некоторых из них ведёт к раскрытию содержимого памяти, обходу ограничений безопасности и выполнению произвольного кода на машине пользователя. Обновление распространяют среди владельцев Windows, macOS и Linux. Браузер остаётся самой массовой программой на домашних и рабочих компьютерах, поэтому выпуск касается почти каждой организации.

Детали уязвимостей

Самую тяжёлую проблему Google описала как чтение за границами буфера в WebGL (CVE-2026-91726). Ошибка кроется в обработке границ на путях графического конвейера. Атакующему достаточно заставить браузер открыть специально подготовленную страницу с графикой. Тогда он получает доступ к данным за пределами выделенного участка памяти. Это раскрывает служебную информацию и может привести к компрометации процесса браузера. Проблему нашли внутри компании третьего сентября и пока не раскрывают её подробности.

Второй критический дефект, CVE-2026-91721, связан со служебным модулем Internals. Третий, CVE-2026-91749, - с механизмом Workers, который выполняет сценарии в фоне. Оба относятся к классу "использование после освобождения". Так называют обращение к памяти, которую программа уже вернула системе. В браузере такие ошибки дают шанс на выполнение чужого кода или на выход за пределы песочницы. Песочница - изолированная среда, где Chrome держит вкладки и не позволяет им влиять на остальную систему. Механизм Workers часто используют веб-приложения, поэтому до ошибки в нём может добраться почти любой сайт.

Ещё 28 уязвимостей Google отнесла к высокому уровню. Они разбросаны по ключевым узлам: движку JavaScript V8, компоненту ServiceWorker, хранилищу кэша, просмотрщику PDF, расширениям, сетевым компонентам, подсистеме ANGLE, интерфейсам WebUI и сборке для Android. Среди них есть переполнение целого числа, запись за границами буфера, путаница типов, состояния гонки и ошибки проверки прав доступа. Состояние гонки означает, что результат зависит от порядка одновременных операций. Путаница типов - это смешение несовместимых структур данных, которое ломает логику программы.

Часть затронутых модулей включена по умолчанию. ServiceWorker, кэш, просмотрщик PDF, сетевые компоненты и WebUI работают у обычного пользователя без всякой настройки. Отдельно Google упоминает ошибки авторизации в ядре, расширениях, WebUI и версии для Android. Такие дефекты позволяют расширить права внутри браузера или обойти проверки, которые отделяют сайты друг от друга. Три проблемы в ServiceWorker, включая запись за границами буфера, получили высокий уровень.

Мобильная версия тоже в списке. Ошибка отсутствующей авторизации в сборке для Android даёт приложению или сайту доступ к функциям, которые должны оставаться закрытыми. Для планшетов и телефонов, где Chrome используют и в личных, и в рабочих целях, это отдельный повод обновиться.

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

Признаков эксплуатации в реальных атаках Google не приводит. Сведений о готовых эксплойтах, то есть программах для использования этих ошибок, в открытом доступе тоже нет. Обстановка всё равно не даёт повода откладывать установку. Компания держит описания и ссылки на отчёты закрытыми, пока большинство пользователей не обновится. Защитникам остаётся полагаться на сам факт выпуска исправлений. Такой режим ограничений - обычная практика для производителей браузеров. Он не даёт атакующим готовых подсказок, но мешает администраторам оценить свою уязвимость.

Сторонние исследователи получили часть выплат. Hafiizh сообщил об ошибке использования после освобождения в модуле Input и получил полторы тысячи долларов. Jihyeon Jeong из лаборатории Compsec Lab Сеульского национального университета нашёл переполнение целого в V8 и получил тысячу. Размер вознаграждений по десяткам других отчётов ещё не определён. Две из трёх критических проблем нашли внешние специалисты, а не внутренняя команда.

Обновление вышло под номерами 153.0.8010.47 и 153.0.8010.48 для Windows и macOS; для Linux доступна сборка 153.0.8010.47. Встроенный механизм обновления загружает новую версию сам. После загрузки нужно закрыть и заново открыть браузер, иначе исправления не заработают. Администраторам стоит сверить парк машин с этими номерами через консоли управления конечными точками и средства управления браузерами. В первую очередь проверять нужно рабочие места, где сотрудники открывают внешние ссылки, вложения из писем, документы и корпоративные веб-приложения.

Для крупных организаций ситуация осложняется темпом рассылки. Google распространяет сборку в течение нескольких дней и недель. Часть машин остаётся на старой версии дольше. Если браузер не перезапускают, исправления не применяются вовсе. Такие промежутки злоумышленники и используют для массовых кампаний.

Внутренние инструменты Google помогают находить дефекты памяти до того, как их начнут использовать. Речь о наборах AddressSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, о контроле целостности потока управления и о фаззинге. Фаззинг - автоматический перебор случайных данных в поиске сбоев, для него компания применяет платформы libFuzzer и AFL. Автоматика не заменяет ручной анализ: две из трёх критических находок принесли сторонние исследователи. Пока исправления не дошли до всех пользователей, обновление Chrome остаётся обязательным шагом для организаций, чьи сотрудники работают с внешним контентом.

Ссылки

Комментарии: 0