はじめに
業務の中で、脆弱性対応をする機会がありました。
対象の脆弱性はCVE-2025-43529です。
簡単に調べると、主にApple製品に関する脆弱性であると感じました。
私たちのチームで管理しているPCはUbuntuかWindowsがメインなので、対象外だろうと最初は思いました。
そこで、依頼者に「対応不要である」と詳しい理由を添えて連絡を入れるため、本格的に裏付け調査をすることにしました。
しかし、調べていくうちに、Ubuntuの webkit2gtk というパッケージがこの脆弱性に該当することが判明しました。
情報を確認すると、2.50.4-0ubuntu0.22.04.1 で修正されているとのことでした。
現状の環境の webkit2gtk パッケージのバージョンを確認したところ、2.48.4-0ubuntu0.22.04.1 だったため、アップデートが必要です。
対象となるPCは200台ほどあるため、今回はツールを使って更新することにしました。
WebKitとは何なのか
調査を進める中で、「そもそもWebKitとは何者か?」という疑問を持ちました。
一言でいうとWebページを画面に描画するための心臓部(ブラウザエンジン/レンダリングエンジン)のひとつです。
私たちが普段見ているWebページは、HTML、CSS、JavaScriptといった言語で書かれています。WebKitは、この文字列のデータを受け取り、解析し、人間が見てわかる「綺麗なWebページ」として画面に組み立てる(レンダリングする)役割を担っています。
WebKitの特徴
WebKitはもともと、KDEというプロジェクトが開発していたKHTMLというエンジンがベースです。Appleがこれを改良しWebKitとしてオープンソース化し、2003年にSafariの標準エンジンとして採用しました。
さらに、iOS上のすべてのWebブラウザアプリ(ChromeやFirefoxなど)は、このWebKitを使用することがAppleの規約で義務付けられています。そのため、「WebKitの脆弱性=Apple製品の脆弱性」としてニュースになりやすいのです。
なぜUbuntuに関係するのか
WebKitはオープンソースであるため、Apple以外の開発者も自由に利用・改良できます。そのため、Linuxの世界でも「アプリ内でWebページを表示させたい」というニーズに応えるため、WebKitが移植(ポート)されました。
Linux環境でよく使われる画面描画の仕組み(GUIツールキット)に「GTK」というものがあります。このGTKでWebKitを使えるようにしたパッケージが、今回遭遇した webkit2gtk です。
まとめ
- WebKitは、もともとKDEの開発物をベースにAppleが中心となってオープンソースとして開発・発展させたレンダリングエンジン
- MacやiPhoneのデフォルトブラウザであるSafariで主に動いており、さらに、iOS上のすべてのWebブラウザアプリはWebKitを使用することが義務づけられている
- WebKitはオープンソースのため、LinuxでもGTK向けとして移植されている
参考