Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】One week after PHP2Shell: attacked in the wild, and now a Linux kernel flaw on top

2026年10月30日に「Dev.to」が公開したITニュース「One week after PHP2Shell: attacked in the wild, and now a Linux kernel flaw on top」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

PHPの緊急脆弱性「PHP2Shell」が悪用され、大規模な攻撃が確認された。さらにLinuxカーネルの脆弱性と組み合わせると、攻撃者はサーバーのroot権限を奪取できる。PHPとカーネルを速やかにアップデートし、再起動が必須だ。不審なファイルのチェックも重要。

ITニュース解説

システムエンジニアを目指す皆さんにとって、サーバーのセキュリティは常に最優先で考えるべき課題の一つだ。最近、多くのウェブサイトの基盤となるPHPというプログラム言語と、LinuxというOSの核であるカーネルに重大な脆弱性が発見され、世界中で実際に攻撃が確認された。この事態は、私たちが運用するシステムがどれほど常に脅威にさらされているかを示しており、適切な対策の重要性を改めて認識させるものだ。

事の始まりは、2026年10月21日にPHPの開発チームが公開した二つの緊急セキュリティアップデートだった。これらは「CVE-2026-109618」と「CVE-2026-109619」という識別番号を持つ脆弱性で、総称して「PHP2Shell」と呼ばれている。この脆弱性が深刻だったのは、修正パッチが公開されるおよそ4日前から、すでにこれを悪用した攻撃が世界中で確認されていた点だ。オランダの研究機関TU Delftの追跡調査によると、世界70カ国以上、600を超える異なるIPアドレスから、5万件以上もの悪用を試みる通信が記録されたという。アメリカのサイバーセキュリティ・インフラセキュリティ庁(CISA)も、これらの脆弱性を「既知の悪用されている脆弱性(KEV)カタログ」に登録し、実際に攻撃に利用されている非常に危険な脆弱性として、連邦政府機関に迅速な対応を求めた。

PHP2Shellの脆弱性が悪用されると、攻撃者はウェブサーバーが動作しているユーザーの権限で、サーバー上で任意のコードを実行できてしまう。これにより、ウェブサイトの改ざんや、サーバーに保存されたデータの窃取など、さまざまな被害を引き起こす可能性がある。しかし、問題はさらに深刻化した。2026年10月28日、CISAは新たにLinuxカーネルの脆弱性「CVE-2026-46300」、通称「Fragnesia」をKEVカタログに追加したのだ。Fragnesiaは「ローカル権限昇格」と呼ばれる種類の脆弱性で、これはサーバー内部において、本来は限定された権限しか持たない一般ユーザーが、システム全体を完全に制御できる最高の管理者権限である「root」を奪取できてしまうというものだ。

このFragnesiaの仕組みは、カーネルが頻繁に使うデータを一時的に保存する「ページキャッシュ」という機能に問題があり、本来読み取りしかできないはずのシステムファイル(例えば、ユーザーをroot権限に切り替えるためのプログラム)のキャッシュされた内容を、権限のないユーザーが勝手に書き換えることができてしまう、という点にある。これにより、次にそのプログラムが実行されると、攻撃者が仕込んだ悪意のあるコードがroot権限で実行されてしまう。

PHP2ShellとFragnesiaという二つの脆弱性が組み合わされると、その影響は非常に甚大となる。まず、PHP2Shellが悪用され、攻撃者はウェブサーバーのユーザー権限を奪う。次に、その権限を足がかりにFragnesiaの脆弱性を突くことで、最終的にLinuxサーバーのroot権限まで奪取できてしまう。こうなると、単にウェブサイトが改ざんされるだけでなく、そのサーバー上で稼働している全てのウェブサイトや、顧客情報、データベースのパスワード、APIキー、SSHキーといったあらゆる機密情報が、攻撃者の手に渡ってしまう可能性があるのだ。このような複数の脆弱性を組み合わせて最終的な目的を達成する攻撃は「脆弱性の連鎖」と呼ばれ、セキュリティ対策を多層的に行う重要性を示している。Fragnesiaの脆弱性自体は2026年5月に公開されており、多くのサーバーは既に修正パッチが適用されている可能性もあるが、カーネルの更新は、パッチを適用しただけでは有効にならず、サーバーを再起動して新しいカーネルを実際に動作させなければならないという点に注意が必要だ。

このような重大な脅威からシステムを守るため、システムエンジニアを目指す皆さんは、以下の点についてすぐに確認と対応を行う必要がある。

第一に、PHPのバージョンを確認し、修正済みのバージョンにアップデートすることだ。修正済みのバージョンはPHP 8.5.12、8.4.27、8.3.36、8.2.35だ。サーバー上で php -v コマンドを実行し、現在のバージョンを確認しよう。ウェブサーバーで使われるPHPと、コマンドラインで使われるPHPのバージョンが異なる場合もあるため、両方を確認することが肝要だ。もしすぐにアップデートできない場合は、php.ini ファイルの disable_functions 設定で、exec, system, passthru, shell_exec などの危険な関数を無効にすることで、攻撃のリスクを一時的に軽減できる可能性がある。これはあくまで暫定的な対策であり、根本的なアップデートを最優先すべきだ。

第二に、Linuxカーネルの修正が適用され、実際に新しいカーネルが動作しているかを確認することだ。現在のカーネルバージョンは uname -r コマンドでわかる。お使いのLinuxディストリビューションのセキュリティ情報を確認し、CVE-2026-46300に対応するカーネルパッケージが適用されているか、そして何よりサーバーが再起動されているかを確認する必要がある。再起動されていないカーネルは脆弱なままなのだ。もしすぐに再起動が難しい場合は、esp4, esp6, rxrpc といった特定のカーネルモジュールの読み込みをブロックする暫定措置も考えられるが、これはIPsecなどのネットワーク機能に影響を与える可能性があるため、慎重に判断する必要がある。

第三に、すでに攻撃者がサーバーに「ウェブシェル」と呼ばれる裏口プログラムを仕込んでいないかを確認することだ。ウェブシェルは、攻撃者がウェブ経由でサーバー上でコマンドを実行するために使われる悪意のあるスクリプトだ。ウェブサイトの公開ディレクトリ内で、最近更新された不審なPHPファイルや、eval, assert, system といった危険な関数を含むファイルがないか、といった観点でサーバー内のファイルを検索してみよう。また、Linuxカーネルの脆弱性が悪用された場合、重要なシステムバイナリが改ざんされている可能性もあるため、dpkg -V util-linux(Debian/Ubuntuの場合)や rpm -V util-linux(RHEL系の場合)といったコマンドで、重要なシステムプログラムの整合性を確認することも忘れてはならない。

もしサーバー上で攻撃の痕跡やウェブシェルを発見した場合、それは単なるファイル削除で済む問題ではない。攻撃者がすでにroot権限を取得している可能性を考慮し、サーバーが完全に侵害されたものとして対処する必要がある。まず、そのサーバーをネットワークから速やかに隔離する。そして、将来的な分析のために、サーバーのログやディスクイメージを保全しておく。その後は、攻撃される前の状態のクリーンなバックアップからシステムを復元し、サーバー上で使われていたデータベースのパスワード、APIキー、SSHキーなど、全ての機密情報をすぐに変更(ローテーション)する必要がある。そして最も重要なこととして、サーバーをネットワークに戻す前に、必ず最新のセキュリティパッチを適用し、脆弱性が完全に修正されていることを確認しなければならない。

今回のPHPとLinuxカーネルの脆弱性の一連の出来事は、システムを運用する上でセキュリティ対策がいかに重要で、かつ継続的な努力が必要であるかを明確に示している。CISAが毎週多くの脆弱性を公開しているように、新たな脅威は常に発生する。そのため、常に最新のセキュリティ情報を入手し、迅速にパッチを適用し、サーバーを再起動して更新を反映させ、ログを監視し、そして万が一の侵入に備えたバックアップと復旧計画を準備しておくことが、安定したシステム運用のために不可欠な心構えとなる。

関連コンテンツ

関連IT用語

関連ITニュース