Ubuntuにおける“Copy Fail”亜種への対応
類似する脆弱性が連続して出てきている状態なので、まず状況を整理しましょう。
連続して出てきているので状況がわかりにくくなっているため、Discourse上のスレッドも参照するのが安全です。
この状況を踏まえると、「Copy Failは対応済みカーネルがあるので更新する」(もしくは、緩和策だけで時間を稼ぐことにする)ための意思決定が必要です。これに加えて、「Dirty FragとFragnesiaは緩和策を適用した上でアップデート版カーネルを待つ」という目先の動きを行った上で、さらに「この3つで終息するわけではないので、今後さらに出てくるであろう『後継』に注意する」というアクションがセットになるでしょう。
これら3種の問題はいずれもLinuxのpageキャッシュ管理に依存する問題です。「誤った情報を持たせた状態のpageを読ませることで、実行ファイルに本来とは異なる動作をさせる」と「実行ファイルの一部には、root特権が付与されている(setuidされている)ものがある」という方法論の組み合わせなので、「そもそも攻撃者になんらかのファイルの実行権を与えないようにする」ということも重要です。「リモートからユーザー権限が得られる」ものに注意しましょう。
また、「pageキャッシュ周りに脆弱性があるかもしれない」という仮定は、ごく新しいものです。今後さらに探索が進むことで、類似する問題が継続的に出てくる可能性に警戒するべきです。「4種類目が出てくる」つもりで対処を記録・検討するようにしましょう。
HWE virtualization stack
Ubuntu 26.04 LTSにおいて、「Hardware Enablement stack for virtualization」と呼ばれる新しいHWE(Hardware Enablement)スタックが提供されるようになりました。これまでHWEはカーネルとその周辺ドライバーやソフトウェアスタック(つまりGPUとMESAまわり)に限られていましたが、近年の仮想化の進展に伴い、26.04 LTS以降に登場する新機能がマージされるようになりました。
「HWE virtualization stack」と名付けられたこのソフトウェアセットは、qemu、libvirt、edk2、seabiosといった「QEMUを動かすためのソフトウェア群」について、「その時点での最新のUbuntuのリリース(中間リリースを含む)」を提供します。LTS環境でこれを利用することで、「その時点での最新のUbuntu」の機能を取り込むことができます。たとえば26.10がリリースされれば、26.10相当の仮想化スタックが26.04 LTSに提供されます。
最新の仮想化スタックを利用することで、たとえばConfidential Computing(機密コンピューティング)に関連する新機能をLTS環境で利用することができます[2]。
ポリシーとして定義されているものは、次のようなものです。
- 「次のLTS」が出てくるまでの間、Q1とQ3に提供される。
- 新しいupstreamバージョンは通常のSRUプロセスを経て提供される。
- 中間リリースから3ヶ月程度が経過したタイミングにすることで、「現実世界でのテスト」を経たものを導入する。
10月リリースの3ヶ月後が1月(Q1)、4月リリースの3ヶ月後が7月(Q3)、という計算になるので、おおむねカーネルのHWEと同じタイミングで提供されることになりそうです(そもそも、カーネル側も新バージョンが必要になることがありうるので、このペースでなければ現実的に利用可能なソフトウェアスタックと主張するのは厳しいものがあります)。
HWE virtualization stackの利用はオプショナルで、制御のためにubuntu-helper-virt-hweというユーティリティが提供されます。このユーティリティは「base」(HWEなし)と「hwe」を切り替えるために利用できます。HWEスタックを利用する場合はこのユーティリティのサブコマンドである「ubuntu_virt_helper switch」を実行する形になるでしょう(原理的な問題もあり、「HWE版のQEMU等をうっかり入れてしまう」という事故が起きる可能性はありますが、このユーティリティを使うことで「何が起きているか」を識別できるようになります)。「たいていの」ユーザーにとってはHWEを利用したほうが良い結果に繋がるため、QAのための労力が提供できない(「できるだけ触りたくない」とも言います)といった事情がなければ、積極的にHWEを使っていくと良いでしょう。
その他のニュース