Плачевная ситуация с безопасностью WebKit в дистрибутивах Linux
3 февраля 2016 года
Один из разработчиков web-браузера Epiphany (GNOME Web) рассказал о проблемах с поставкой WebKit в составе дистрибутивов Linux. Если дистрибутивы более-менее научились справляться с обновлением браузеров, то с обособленной поставкой браузерных движков всё очень плохо. В большинстве дистрибутивов поставляются устаревшие версии портов WebKit (WebKitGTK+, QtWebKit и WebKitEFL), содержащие неисправленные опасные уязвимости.
Дистрибутивы поставлены перед дилеммой - обеспечить поставку свежих версий, но столкнуться с чередой проблем из-за возможного нарушения совместимости с зависимостями, или остановиться на определённом выпуске движка, но утонуть в рутине по бэкпортированию исправлений уязвимостей. В настоящее время актуальные версии WebKitGTK+ поддерживаются только в Arch и Fedora. Свежий WebKitGTK+ также доступен в Debian testing, за исключением периодов заморозки пакетной базы перед очередным релизом, Debian unstable и openSUSE Tumbleweed. В стабильных релизах Debian и openSUSE поставляются устаревшие версии WebKitGTK+. В Ubuntu обновления выпускаются выборочно и с большой задержкой (в Ubuntu 14.04 сейчас WebKitGTK+ 2.4.8, хотя 2.4.9 вышел восемь месяцев назад, а в Ubuntu 15.10 - WebKitGTK+ 2.8.5 в котором имеется 40 уязвимостей).
WebKitGTK+ используется в таких приложениях, как Anjuta, Banshee, Bijiben (GNOME Notes), Devhelp, Empathy, Evolution, Geany, Geary, GIMP, gitg, GNOME Builder, GNOME Documents, GNOME Initial Setup, GNOME Online Accounts, GnuCash, gThumb, Liferea, Midori, Rhythmbox, Shotwell, Sushi и Yelp (GNOME Help). Следует отметить, что бюллетени с отчетами об устранённых в WebKitGTK+ уязвимостей, регулярно стали выходить только последнее время и разработчики приложений были вынуждены отслеживать связанные с безопасностью исправления самостоятельно. Несколько месяцев назад отношение к безопасности изменилось и WebKitGTK+ стал формировать регулярные отчеты с привязкой к идентификаторам CVE.
При этом всплывает новая проблема - сопровождение устаревающей ветки WebKitGTK+ 2.4, последней с поддержкой WebKit1 API. В новых выпусках WebKitGTK+ поддерживается только WebKit2 API, но не все приложения пока поддерживают данный API. Портирование исправлений в ветку WebKitGTK+ 2.4.x является трудоёмкой задачей и отнимает много ресурсов, поэтому скорее всего поддержка этой ветки в ближайшем будущем будет прекращена. Как один из выходов упоминается удаление поддержки API WebKit1 из дистрибутивов, но такой шаг приведёт к невозможности использования ряда популярных приложений.
Что касается WebKitEFL и QtWebKit, то WebKitEFL, развиваемый проектом Enlightenment, в обособленном виде не входит в состав дистрибутивов и, в основном, используется поставщиками решений для встраиваемых систем, которые не занимаются бекпортированием исправлений уязвимостей. Движок QtWebKit прекратил своё развитие, но несмотря на решение о переходе на QtWebEngine, он по-прежнему используется в проектах KDE, в том числе в Amarok, Calligra, KDevelop, KMail, Kontact, KTorrent, Quassel, Rekonq и Tomahawk. Ситуация с безопасностью QtWebKit оставляет желать лучшего, так как кодовая база движка на годы отстаёт от основного WebKit, а исправления бэкпортируются выборочно и не регулярно. Большое число уязвимостей остаются неисправленными и затрагивают все приложения на базе QtWebKit, которые не спешат переходить на новый движок QtWebEngine, поддерживаемый сообществом Qt.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.