Экстренные обновления браузера — самая недооценённая часть обслуживания Linux-системы. Пользователи привыкли, что «Linux не вирусы», и откладывают перезапуск браузера неделями. Между тем Chrome и Chromium — это миллионы строк кода, разбирающего недоверенные данные из интернета, и именно там регулярно находят уязвимости, которые используются в реальных атаках.
Инцидент с CVE-2022-3075 и обновлением до 105.0.5195.102 — хороший повод разобрать процесс целиком: как проверить версию, как обновиться в разных вариантах установки и что делать, если браузер не обновляется сам.
Что произошло
Google выпустила внеплановое обновление Chrome, закрывающее уязвимость CVE-2022-3075. Причина — недостаточная проверка данных в компоненте Mojo, который отвечает за взаимодействие между процессами браузера. Поскольку уязвимость уже эксплуатировалась, компания не публиковала технические детали до того, как большинство пользователей установит исправление.
Такая практика нормальна: раскрытие подробностей сразу дало бы атакующим готовый рецепт. Но она означает, что решение нужно принимать быстро, не дожидаясь полного описания проблемы. Обновление вышло одновременно для Windows, macOS и Linux.
Почему это касается Linux
Chrome для Linux обновляется не через APT, а через собственный репозиторий Google. Если пакет добавлен правильно, обновления приходят вместе с системными, но не всегда: менеджер обновлений может пропустить сторонний репозиторий, а браузер — работать сутками без перезапуска, сохраняя старую версию в памяти.
Chromium в Debian, Ubuntu и Fedora обновляется пакетным менеджером, но версии там могут отставать на несколько дней. Snap- и Flatpak-сборки обновляются по своему расписанию. Поэтому «у меня Linux» не отменяет проверку версии.
Как проверить версию
Откройте chrome://version или выполните команду:
google-chrome --version
chromium --version
chromium-browser --version
Для Snap и Flatpak версия видна в списке пакетов:
snap list chromium
flatpak list --app --columns=application,version | grep -i chrom
Сравните полученное значение с актуальным релизом на странице обновлений Chrome. Если номер старше — обновляйтесь, а не ищите оправдания.
Обновление в разных установках
Пакет Google Chrome
sudo apt update
sudo apt install --only-upgrade google-chrome-stable
google-chrome --version
Если репозиторий Google не подключён, пакет не найдётся. Проверьте список источников:
grep -r "dl.google.com" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
Chromium из репозитория
sudo apt update
sudo apt install --only-upgrade chromium
# или
sudo dnf upgrade chromium
В Debian Chromium иногда собирают с задержкой из-за проверок безопасности. Если обновления нет неделями, а уязвимость критична, разумно временно перейти на другой браузер или на официальную сборку.
Snap и Flatpak
sudo snap refresh chromium
flatpak update -y org.chromium.Chromium
Главное: перезапустить браузер
Обновление файлов на диске не заменяет процесс, который уже работает. Chrome держит в памяти старую версию, пока все окна не будут закрыты. Проверить это можно по адресу chrome://version: если рядом с версией есть пометка о необходимости перезапуска, закройте все окна полностью.
pgrep -a chrome | head
pkill -TERM chrome
Не убивайте процесс через -9 без необходимости: браузер может потерять несохранённые данные вкладок. После перезапуска снова проверьте версию.
Почему браузер — главная поверхность атаки
Браузер обрабатывает HTML, JavaScript, шрифты, изображения, видео и сетевые протоколы. Каждый из этих форматов — потенциальный источник ошибок. Песочница снижает ущерб, но не устраняет возможность побега из неё, а цепочки эксплойтов часто комбинируют несколько уязвимостей.
Дополнительный риск создают расширения: они работают внутри браузера и видят содержимое страниц. Устанавливайте минимум расширений, проверяйте разрешения и удаляйте то, чем не пользуетесь.
Практика: как не пропускать такие обновления
- Держите Chrome в системном репозитории, а не в виде вручную распакованного архива.
- Включайте автоматические обновления безопасности и проверяйте журнал.
- Раз в неделю перезапускайте браузер полностью, а не только закрывайте вкладки.
- Следите за бюллетенями безопасности Chrome и Chromium.
- Не отключайте песочницу «ради скорости» — выигрыш минимален, риск велик.
# пример проверки в cron: записать версию раз в день
0 9 * * * google-chrome --version >> ~/chrome-versions.log
Если обновление недоступно
Иногда пакет ещё не собран для вашего дистрибутива. В этом случае: ограничьте работу с недоверенными сайтами, не открывайте случайные ссылки из писем, отключите лишние расширения и используйте второй браузер с актуальной версией. Не устанавливайте «патчи» из случайных источников: под видом исправления часто распространяют вредоносное ПО.
Расширения и песочница: что проверить
Даже свежий браузер остаётся уязвимым, если в нём установлено расширение с широкими правами. Откройте список расширений и проверьте, какие из них имеют доступ ко всем сайтам. Такие расширения видят содержимое страниц, включая формы входа, и при компрометации разработчика могут превратиться в инструмент кражи данных.
# посмотреть список расширений Chrome по каталогам профиля
ls ~/.config/google-chrome/Default/Extensions | head
Удаляйте всё, чем не пользуетесь, и не устанавливайте расширения из сторонних магазинов. Песочницу отключать не нужно: она ограничивает ущерб при эксплуатации, даже если уязвимость уже сработала. Проверить, что процессы изолированы, можно на странице chrome://sandbox.
Итог
CVE-2022-3075 напоминает простую вещь: безопасность Linux-системы зависит не только от ядра и системных пакетов, но и от браузера. Проверка версии занимает полминуты, обновление — минуту, перезапуск — ещё минуту. Это значительно дешевле, чем разбираться с последствиями эксплуатации уязвимости.