5月に直っていた穴が、なぜ10月に「悪用中」になるのか。
私たちは、その答えを「穴は1つずつ攻められるわけではない」という点にあると考えています。外から入れるWebの穴と、「ローカルからしか使えない」とされるカーネルの穴。それぞれ単体で見れば、後者はつい後回しにしたくなります。でも2つがつながると、インターネット越しにサーバーのroot(最上位の管理者権限)まで届いてしまいます。
そして、その連鎖が実際に起きる場所は、「上流(開発元)では修正済み」と「実際にサーバーで動いているカーネル」とのあいだにある“すき間”です。今回のLinuxカーネルの脆弱性「Fragnesia」は、その典型例でした。
何が起きたのか
Fragnesia(CVE-2026-46300)は、Linuxカーネルのネットワーク処理(IPsecのESP関連)にある不具合です。権限の低いローカルユーザーが、読み取り専用のはずのファイルの内容(メモリ上のキャッシュ)を書き換えられてしまい、結果としてroot権限を取れる「ローカル権限昇格」の脆弱性です。
- NVDでのCVSS 3.1スコアは 7.8(High)。攻撃元区分は「ローカル(AV:L)」です。NVD
- 公開は 2026年5月13日。同日にCVE番号が割り当てられ、修正パッチも提案されました。oss-security
- 修正を含む安定版カーネル(7.0.10、6.12.91、6.6.141など)は 5月23日 にリリースされています。Linux 7.0.10 ChangeLog Ubuntu、Red Hatなど主要ディストリビューションも修正版カーネルを出しています。Ubuntu
- Red Hatは深刻度を「Critical」ではなく「Important」としていて、その理由を「悪用にローカルアクセスが必要なため」と説明しています。Red Hat
つまり、修正自体は5か月前に出ていたわけです。
ところが10月28日(米国時間)、米CISA(サイバーセキュリティ・インフラストラクチャセキュリティ庁)は、この脆弱性を「既知の悪用された脆弱性(KEV)」カタログに追加しました。米連邦機関向けの対応期限は 10月31日、追加からわずか3日後です。KEVの説明には、PHPの脆弱性CVE-2026-109618・CVE-2026-109619と連鎖させることで、PHPのWebシェル(外から操作できる裏口)を仕込み、root権限でコマンドを実行できる、と書かれています。CISA KEV
「つなげる」と何が起きるのか
連鎖相手のPHPの脆弱性2件は「PHP2Shell」と呼ばれ、10月21日(UTC)に修正版のPHP(8.5.12、8.4.27、8.3.36、8.2.35)が公表されたばかりのものです。こちらは認証なしでリモートからコードを実行されうる脆弱性で、NVDに登録されたPHP側のCVSS 4.0スコアはどちらも9.2(Critical)です。CISAも10月26日にKEVへ追加しました。NVD CVE-2026-109618、NVD CVE-2026-109619
セキュリティ企業Dreamの報告によれば、攻撃者は10月23〜24日、特定ベンダーのファイアウォール製品を狙い、PHP2ShellとFragnesiaをつなげた攻撃を自動化して24台のrootを奪い、root権限のWebシェルを設置しました。さらに、そのうち1つの組織では内部の管理サーバーにも同じ連鎖を使い、侵害されたサーバーは計25台になったとされています。Dream Research、SecurityWeekの報道 流れを概念的にまとめると、こうなります。
- Webの穴(PHP2Shell)で、Webサーバーの低い権限としてコードを実行する
- その「中にいる」状態から、ローカル限定のカーネルの穴(Fragnesia)を使ってrootになる
- 裏口(Webシェル)を残し、さらに内部のシステムへ広げていく
ここで大事なのは2の部分です。「ローカルからしか悪用できない」という条件は、Webの穴が1つでもあれば満たせてしまいます。攻撃者から見れば、Webサーバーのプロセスはもう「ローカルユーザー」なのです。
スコアは「1つの穴」しか見ていない
CVSSのようなスコアは、あくまで「その穴単体」の評価です。リモートの穴は高く、ローカルの穴は低めに出ます。それ自体は正しいのですが、運用の優先順位をスコアだけで決めると、「7.8でローカル限定なら、次の定期メンテでいいか」という判断になりがちです。
そして、カーネルの修正には特有の遅れがあります。
- 上流で直っても、各ディストリビューションが自分のカーネルに取り込む(バックポートする)までに時間がかかる
- パッケージを更新しても、再起動するまで古いカーネルが動き続ける
- 「止められないサーバーだから再起動は年末に」と先送りされる
今回の被害機器の事情までは報告から分かりませんが、一般に、5月の修正と10月の悪用のあいだにはこうした“すき間”が生まれやすいと私たちは考えています。
小さな会社・個人開発者ができること
大きなセキュリティチームがなくても、次のことはすぐ始められます。
1. 「入っているカーネル」ではなく「動いているカーネル」を確認する
更新済みのパッケージがインストールされていても、再起動していなければ古いカーネルのままです。uname -r などで実際に動いているバージョンを確認し、ディストリビューションの修正版と照らし合わせましょう。
2. 再起動を「予定」に入れておく カーネル更新は再起動してはじめて効きます。月1回など、再起動できる時間帯をあらかじめ決めておくと、先送りが減ります。
3. Webに公開しているサーバーでは「ローカル」を「リモート」と読み替える PHPなどで動くWebアプリを外に公開しているなら、ローカル権限昇格の穴は「Webの穴とセットで使われる前提」で扱うことをおすすめします。PHP本体のバージョンも合わせて確認しましょう。
4. CISAのKEVカタログをときどき見る KEVは「実際に悪用が確認された」脆弱性の一覧です。スコアの高さではなく「いま使われているか」で優先順位をつける手がかりになります。
5. 古い対策を外すときは、修正版の適用を確認してから 公開直後に案内された回避策を入れている場合、Ubuntuは修正版カーネルを適用すれば不要になると説明しています。逆に言えば、修正版が動いていることを確認する前に外さないことが大切です。
ここに書いたのは一般的な考え方で、すべての環境での安全を保証するものではありません。実際の対応は、お使いのディストリビューションやベンダーの最新の案内を確認したうえで判断してください。
おわりに
「1つだけ見ると後回しにできそうな穴も、つなげると致命的になる」。これは脆弱性に限らず、システム全体を見るときにも当てはまる話だと思います。
あわせて読みたい、Tesujiのセキュリティ記事:
- バックアップは「戻せる」まで確認する:保存範囲・管理権限・復元テスト
- MFA・認証アプリ・復旧コードの違い:スマホを失う前に確認すること
- アプリに秘密鍵を埋め込まない:公開APIの認証・認可と、漏えい時の対応
参考情報
- NVD:CVE-2026-46300 https://nvd.nist.gov/vuln/detail/CVE-2026-46300
- CISA KEVカタログ https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-46300
- oss-security(2026/05/13、CVE割り当て) https://www.openwall.com/lists/oss-security/2026/05/13/5
- Ubuntu:Fragnesia mitigations https://ubuntu.com/blog/fragnesia-linux-vulnerability-fixes-available
- Red Hat:CVE-2026-46300 https://access.redhat.com/security/cve/cve-2026-46300
- Linux 7.0.10 ChangeLog https://cdn.kernel.org/pub/linux/kernel/v7.x/ChangeLog-7.0.10
- NVD:CVE-2026-109618 https://nvd.nist.gov/vuln/detail/CVE-2026-109618 / CVE-2026-109619 https://nvd.nist.gov/vuln/detail/CVE-2026-109619
- PHPセキュリティアドバイザリ https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w / https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
- Dream Research(2026/10/26) https://dreamgroup.com/blog/chained-php2shell-exploit-roots-25-servers
- SecurityWeek(2026/10/28) https://www.securityweek.com/china-linked-hackers-exploit-php2shell-to-root-firewalls/
確認日:2026年10月29日。修正版カーネルのバージョンや回避策の要否は、お使いのディストリビューション・ベンダーの公式情報で確認してください。
Tesuji