技術的な詳細は Gemini や ChatGPT などに聞けば教えてくれるはず(丸投げ)。

Ubuntu での CVE-2026-98432 緩和策

Linux をアップデートしてバージョンを上げるまでは緩和策でもやっておきたい。

nftables を使って、TCP ヘッダー長が標準 (5 words = 20バイト) を超える、オプション付きのTCPパケット (ip hdrlength > 5) を検知して破棄 (drop) する。

以下、適用例。


$ sudo apt update
$ sudo apt install -y nftables
$ sudo systemctl enable nftables
$ sudo systemctl is-enabled nftables

$ sudo nft add table inet filter
$ sudo nft add chain inet filter input \{ type filter hook input priority -310\; policy accept\; \}
$ sudo nft add rule inet filter input ip protocol tcp ip hdrlength \> 5 counter drop comment \"CVE-2026-98432 mitigation\"
$ sudo nft list table inet filter

$ sudo cp /etc/nftables.conf ~/nftables.conf.bak
$ sudo sh -c 'nft list ruleset > /etc/nftables.conf'
$ cat /etc/nftables.conf
$ sudo nft list ruleset

脆弱性に対応した Linux パッケージをインストールする

現地時間で 2026-11-02 に、Ubuntu の CVE-2026-98432 Use-After-Free 脆弱性対応 linux パッケージが公開されたけど、まだ検証中のためテスト用の proposed pocket リポジトリにしか置いていない。それを適用することは可能。
→ Fixes available in -proposed pocket for CVE-2026-98432 | Ubuntu

以下、適用例。

インストール前の Linux バージョンやパッケージバージョンの確認。


$ uname -r
$ dpkg -l 'linux-image*' | grep ^ii

テスト用の proposed pocket リポジトリを追加して、パッケージをアップデートする。

apt install で実際にインストールするときは -y オプションが必要。


$ sudo add-apt-repository --component main --pocket proposed http://archive.ubuntu.com/ubuntu
$ sudo apt update
$ dpkg-query -W -f '${source:Package}\t${binary:Package}\n' | awk '$1 ~ "^linux-meta" { print $2 }' | xargs sudo apt install -t $(. /etc/os-release && echo $VERSION_CODENAME)-proposed --only-upgrade
$ dpkg-query -W -f '${source:Package}\t${binary:Package}\n' | awk '$1 ~ "^linux-meta" { print $2 }' | xargs sudo apt install -t $(. /etc/os-release && echo $VERSION_CODENAME)-proposed --only-upgrade -y

インストール後の Linux パッケージ確認。

Ubuntu Resolute (26.04) の場合は 7.0.0-43.43 がインストールされていればOK。


$ dpkg -l 'linux-image*' | grep ^ii
ii  linux-image-7.0.0-42-generic           7.0.0-42.42   amd64        Signed kernel image generic
ii  linux-image-7.0.0-43-generic           7.0.0-43.43   amd64        Signed kernel image generic
ii  linux-image-generic                    7.0.0-43.43   amd64        Generic Linux kernel image

再起動して適用。


$ sudo reboot

Linux バージョンを確認。


$ uname -r
7.0.0-43-generic

参考資料

tags: ubuntu linux

Posted by NI-Lab. (@nilab)