#状況
「悪用の恐れが高い脆弱性が、未修正のまま残っています(1 件)」。パッケージは webkit2gtk、CVE-2026-3909 で、KEV の印が付いています。通知は「パッケージを更新してください」と言っています。
更新しました。警告は消えません。
これは作り話ではなく、実際に出た警告を題材にしています。「更新すれば直る」という前提が崩れたとき、運用者は判断を迫られます。このモジュールは、その判断の筋道を学ぶ手順書です。扱う機能は、パッケージの既知の脆弱性の照合、悪用される恐れの高い脆弱性の診断、脆弱性の受容 です。
#最初の 15 分で、警告を読む
あわてて動く前に、警告に出ている言葉の意味を確かめます。
| 表示 | 意味 | この警告では |
|---|---|---|
| KEV | CISA(米国のサイバーセキュリティ機関)が、実際に悪用された脆弱性を載せている一覧(KEV カタログ)。優先順位を決める材料として使うよう、案内されています | 載っている |
| EPSS | その CVE が、今後 30 日以内に実環境で悪用される確率の推定(0〜1、FIRST)。毎日更新されます | 2% |
| CVSS | 脆弱性の深刻度の目安。悪用されやすさとは別の指標です | 8.8 |
| 修正版 | 直った版がパッケージとして公開されているか | まだありません |
読み落としやすい点が 2 つあります。
- KEV の印は、「どこかで悪用された」という意味です。あなたのサーバーが狙われている、という意味ではありません
- CVE の説明が指している製品と、あなたの入れているパッケージは、同じとは限りません。この CVE の説明は「Google Chrome の Skia の範囲外書き込み」です。WebKitGTK が実際に影響を受けるかは、説明文だけでは決まりません。Ubuntu の脆弱性の管理表では、webkit2gtk は 24.04、26.04 ともに
deferred(対応を保留)です(Ubuntu CVE)
RoamSwitch は、修正版がないときは、そのとおりに表示します。「修正版: まだありません。パッケージを更新しても、この件は解消しません」。更新では解決できない警告だと、最初に分かります。
#判断の分かれ目
- このマシンで、そのパッケージは使われていますか。 使われていなければ、削除するのが最も確実です。警告も消えます
- 使われているなら、攻撃者が細工したデータを、届けられますか。 ネットワークで待ち受けているか、細工された内容(Web ページ、メールなど)を開くような使い方をしているかを調べます
- 軽減できますか。 使うアプリを止める、別のもので置き換える、といった手があるかを考えます
3 つの問いのどれにも「はい」と答えられなければ、承知のうえで、期限つきで受け入れることを検討します。
#外から届く経路があるかを調べる
警告が指しているパッケージが、このマシンで実際にどう使われているかを調べます。使うのは、読み取りだけのコマンドです。
手元の警告に合わせて、CVE とパッケージの名前を読み替えてください。
# 1. 警告の内容(読み取りのみ)
sudo roamswitch scan-packages | grep -A9 "CVE-2026-3909"
# 2. そのパッケージに依存して、入っているものは何か
apt-cache rdepends --installed libwebkit2gtk-4.1-0
# 3. 今、動いているプロセスで、そのライブラリを読み込んでいるもの
sudo grep -l "libwebkit2gtk\|libwebkitgtk" /proc/[0-9]*/maps | cut -d/ -f3 | while read p; do ps -o comm= -p $p; done | sort | uniq -c
# 4. そのプロセスが、ネットワークで待ち受けているか(PID ごとの件数。すべて 0 なら待ち受けなし)
for p in $(sudo grep -l "libwebkit2gtk\|libwebkitgtk" /proc/[0-9]*/maps | cut -d/ -f3 | sort -u); do sudo ss -lntup | grep -c "pid=$p,"; doneCVE-2026-3909 [Ubuntu 26.04] webkit2gtk 2.52.6-0ubuntu0.26.04.1 (CVSS 8.8)
KEV 米国CISAが、実際に悪用されていることを確認した脆弱性です。
EPSS 2% (2026-11-01)
修正版: まだありません
Reverse Depends:
gir1.2-webkit2-4.1
libedataserverui-1.2-4t64
1 evolution-alarm
1 evolution-sourc
1 gnome-initial-s
0
0
0この結果から、次のことが分かります。
- このパッケージに依存しているのは、メールソフトの Evolution と、GNOME の初期設定の部品です。サーバーの役目とは関係がありません
- 今動いているのは、Evolution のバックグラウンド処理だけで、ウェブページやメールを開く画面は動いていません
- 3 つのプロセスとも、待ち受けているポートは 0 件です。ネットワークから直接届く経路はありません
手順 4 は、プロセス名ではなく PID で照合します。ss -ltnp | grep webkit のように名前で絞ると、プロセス名に「webkit」が入っていないというだけで、待ち受けていても 0 件になり、見落とします。この方法が正しいかどうかは、待ち受けていると分かっているプロセス(たとえば sshd)で試すと確かめられます。
#期限つきで受容する
3 つの問いに答えた結果、「使われているが、細工されたデータを開く使い方はしておらず、待ち受けもなく、今は軽減する手もない」と判断したとします。このとき、理由と期限を付けて記録するのが「受容」です。
次のコマンドは、記録を残します(~/.config/roamswitch/vuln_acceptances.json)。この教材の演習では実行しません。実際の運用で、判断が済んでから実行してください。
sudo roamswitch vuln-accept Ubuntu webkit2gtk CVE-2026-3909 \
--version 2.52.6-0ubuntu0.26.04.1 --days 30 \
--reason 'Ubuntuが対応見送り(deferred)で修正版なし。CVEはChromeのSkia。webkit2gtkを使うのはEvolution等のみでネットワーク待ち受けなし。30日後に再評価'Ubuntu webkit2gtk CVE-2026-3909 (2.52.6-0ubuntu0.26.04.1)
期限: 2026-12-03 (あと29日)
理由: Ubuntuが対応見送り(deferred)で修正版なし。CVEはChromeのSkia。(以下略)
記録: tetsuharu (2026-11-03)受容には、次の性質があります。
- 直ったわけではありません。 警告が「要対応」の数から外れ、「受容中」として別に数えられるだけです。一覧には残ります
- 期限があります。 既定は 90 日、最長は 365 日です。期限が来ると「要対応」に戻り、記録は残ります
- 理由が必須です。 あとから、誰が、なぜ受け入れたかを読めます
- その版にだけ効きます。 パッケージが別の脆弱な版に変わると、新しい検出として要対応になります
#期限が来たとき
期限は、見直しの予定日です。期限の日に、次の順で確かめます。
- 修正版は出ましたか(
apt-cache policyと、ベンダーの脆弱性の管理表で確かめます) - このパッケージは、まだ必要ですか。使わなくなっていれば、削除します
- 状況は変わりましたか(新しい使い方が増えた、細工されたデータを開く場面が出た、など)
- それでも受け入れるなら、新しい理由を書いて、もう一度記録します
- 理由を書かずに受容する。あとで見返す自分も、ほかの運用者も、判断の根拠を読めなくなります
- よく考えずに、最長の 365 日にする。期限は、見直す日です
- 「Chrome の話だから」と、調べずに無視する。説明文と、入れているパッケージの関係は、調べて初めて言えます
- 警告を止めるために、点検そのものを止める。見えなくなるだけで、状況は変わりません
#見えない部分
- このパッケージが、実際にこの CVE の影響を受けるかどうかは、警告からは分かりません。警告は、パッケージ名と版を、脆弱性の対応表と照合して出しています
- 手順 3 の調べ方で見えるのは、今動いているものだけです。これから起動するアプリは、別に考える必要があります
- 対応表は定期的に更新されます。新しい情報によって、状況が変わることがあります(修正版の公開や、悪用の報告の追加など)
- 受容は、リスクを下げません。下げるのは、軽減(削除、停止、置き換え)です
受容を記録した後の状態として、正しいものはどれですか
解説を見る
受容は、「承知のうえで、期限つきで残す」という判断の記録です。直ったという意味ではありません。期限が来たら、見直しの時期です。
2026-11-03に確認しました。対象は Linux 1.17.30 です。Ubuntu 26.04 の Server Edition で、実際に出た警告(webkit2gtk)を調べた手順
コマンドの出力は、製品の版や環境によって変わります。違いが出たら、まず製品の版を確かめてください。