Оценка безопасности WebKit в дистрибутивах Linux


Майкл Катандзаро (Michael Catanzaro), один из разработчиков web-браузера Epiphany (GNOME Web), опубликовал отчёт об актуальности пакетов с браузерным движком WebKit в дистрибутивах Linux. Майкл попытался оценить изменение ситуации спустя год, после поднятия темы о поставке в большинстве дистрибутивов устаревших версий портов WebKit (WebKitGTK+, QtWebKit и WebKitEFL), содержащих неисправленные опасные уязвимости.

В целом отмечается значительное улучшение ситуации с безопасностью пакетов с портами WebKit. Наибольшим достижением можно считать налаживание процесса обновления WebKitGTK+ в Ubuntu. Актуальный выпуск WebKitGTK+ 2.14.3, в котором было устранено 13 уязвимостей, доставлен пользователям Ubuntu 16.04/16.10, Fedora 24/25 и Arch Linux.

В прошлых LTS-ветках Ubuntu 14.04 и 12.04, а также в Red Hat Enterprise Linux, Oracle Linux и SUSE сохраняются пакеты со старой версией WebKit 1, так как замена на WebKit2 невозможна из-за изменения API, а WebKitGTK+ на базе WebKit1 уже не поддерживается. Замена WebKit 1 на WebKit 2 невозможна, так как приведёт к нарушению совместимости c зависимостями, а бэкпортирование исправлний в устаревшую ветку выглядит излишне трудоёмким процессом. WebKitGTK+ используется в таких приложениях, как Midori, Rhythmbox, Shotwell, 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, Sushi и Yelp (GNOME Help).

В Debian ситуация плачевная, в состав выпуска Debian 8.7 входит WebKitGTK+ 2.6.2, в котором остаются неисправленными 184 известные язвимости. При этом в бэкпортах для установки доступен свежий выпуск WebKitGTK+ 2.14.3. В штатной поставке устаревшая версия WebKitGTK+ 2.6.2 остаётся по формальным причинам, в том числе в ней остаются не исправленными некоторые серьёзные проблемы со стабильностью. Актуальный выпуск WebKitGTK+ 2 также доступен в ветках unstable и testing, но после заморозки testing, следующее обновление появится только в unstable.

Похожая ситуация в openSUSE: в репозитории Tumbleweed можно найти свежий выпуск WebKitGTK+, но в штатной поставке openSUSE Leap 42.2 предлагается устаревшая версия WebKitGTK+ 2.12.5, содержащая 42 известные уязвимости. К тому же, подготовке обновлений для openSUSE Leap 42.2 мешает то, что выпуск основан на пакетной базе SUSE Linux Enterprise с GCC 4.8, в то время как для сборки новых версий WebKit требуется как минимум GCC 4.9.

В Gentoo свежий выпуск WebKitGTK+ можно найти только в ветке "testing", а в стабильном репозитории предлагается выпуск 2.12.5, в котором имеется 42 уязвимости. Дистрибутив Mageia пытался выпускать обновления для Mageia 5, но не ушёл дальше выпуска WebKitGTK+ 2.12.4.