2026年10月21日にPHPの緊急の脆弱性(CVE-2026-109618/CVE-2026-109619)が、続いてJavaの脆弱性(CVE-2026-91403)が公表されました。
IBM Planning Analytics(TM1)の運用・保守をしていると、「うちの環境は大丈夫か」と聞かれる場面だと思います。この記事では、PA(Planning Analytics)の環境でまず確認することを、コマンド中心にまとめます。
IBM非公式の個人による記事です。2026年10月22日時点の公式情報をもとにしています。脆弱性の情報は短い期間で更新されるので、対応を決めるときは記事末尾の公式情報を確認してください。PAの周辺システムを含めた考え方は、記事末尾のリンク先(note)で詳しくまとめています。
2つの脆弱性の概要
| PHP | Java | |
|---|---|---|
| CVE | CVE-2026-109618、CVE-2026-109619 | CVE-2026-91403 |
| 公表 | 2026年10月21日(PHP公式) | 2026年10月21日(米国時間、Oracle Security Alert) |
| 内容 | 認証なしでのリモートコード実行のおそれ | JSSE(TLS)の脆弱性。侵害された8つの中間CA証明書に関するもの(OpenJDKの勧告) |
| 深刻度 | CVSS v4.0:9.2 | CVSS v3.1:9.1 |
| 対応 | PHP 8.5.12/8.4.27/8.3.36/8.2.35 に更新 | Java(OpenJDK含む)を更新。OS提供のOpenJDKはOSの証明書の更新で足りる場合が多い |
PHPは、Webのリクエストを処理するすべてのPHP(PHP-FPM、mod_php、php-cgi、FrankenPHP、LiteSpeed)が対象で、PHPの公式サイトではmod_phpのリスクが最も高いとされています。PHP 8.1以前は、PHPの開発チームからの更新の対象外です。
PA本体との関係
- PHP:PAはPHPで動く製品ではなく、10月22日時点で、IBMからPAを対象にしたセキュリティ情報は確認できません。問題になるのは、PAの周辺で動いているPHPです
- Java:IBMの過去のセキュリティ情報から、PAとPAWはIBM Java 8/IBM Semeru、WebSphere Application Server Libertyを同梱していることが分かっています。今回の件でPAを対象にしたIBMの情報は10月22日時点で確認できませんが、IBMの情報を待つ必要があります
確認1:PAのサーバーにPHPが入っていないか
製品としてPHPを使っていなくても、同じサーバーにほかの用途でPHPが入っていることがあります。
Windows(PowerShell):
# PATHが通っているPHPを探す
where.exe php
# IISを使っている場合は、IISマネージャーのハンドラーマッピングで .php の設定がないかも確認する
Linux:
php -v
rpm -qa | grep -i php # RHEL系
dpkg -l | grep -i php # Debian/Ubuntu系
PAWを動かしているDockerのホスト:
# PAW以外のコンテナーが同じホストで動いていないか
docker ps --format '{{.Image}}\t{{.Names}}'
確認2:PAの周辺のPHPを洗い出す
PAは単独で動いていることはほとんどありません。次の3方向から、PHPを使っているシステムを探します。
- データの入口:PHPで作った入力・申請画面から、CSVを出してTIで読み込んでいる
- 利用者の入口:WordPressなどのCMSで作った社内ポータルに、PAWへのリンクを置いている
- 監視・管理:ZabbixのWeb画面、phpMyAdminなど
見つかったら、PHPのバージョンと動かし方(mod_php、PHP-FPMなど)を記録し、更新の日程を決めます。インターネットに公開しているものが最優先です。
周辺のサーバーが乗っ取られた場合、PAには次の経路で影響が及びえます。
- TM1のREST APIの接続情報(ユーザー名やパスワード)を、そのサーバーのスクリプトや設定に置いている
- そのサーバーが書き出したファイルを、TIが共有フォルダー経由で読み込んでいる
- そのサーバーから、TM1 ServerやPAWのポートに届く
- PAWへのリンクを置いたポータルが書き換えられ、偽のログイン画面に誘導される
確認3:Javaは「同梱」「単体」「OS提供」に分ける
Javaは、どこから来たものかで対応が変わります。まず、サーバー上のJavaを洗い出します。
Windows(PowerShell):
# java.exe を探す(時間がかかる場合があります)
Get-ChildItem -Path C:\ -Filter java.exe -Recurse -ErrorAction SilentlyContinue |
Select-Object FullName
Linux:
find / -type f -name java 2>/dev/null
見つかったJavaごとに、次のように分けます。
| 種類 | 例 | 対応 |
|---|---|---|
| 製品に同梱 | PA、PAWのIBM Java/IBM Semeru | 製品ベンダー(IBM)のセキュリティ情報を待ち、示された修正を当てる。独自に書き換えない |
| 単体でインストール | ETLツールやジョブ管理用に入れたJDK | OpenJDKやOracleの案内に沿って更新する |
| OS提供のOpenJDK | Linuxのパッケージ | OpenJDKの勧告では、多くの場合OSの証明書の更新で足りるとされている |
まとめ
- PHPは、PA本体ではなく周辺の棚卸しと更新が本題
- Javaは、PA本体が同梱している部品の話なので、IBMの情報を待ちつつ、Javaの実行環境を棚卸ししておく
- どちらも「PAとつながっているシステムの一覧」があれば、すぐに答えられる
PAの周辺システムを含めた考え方、確認手順、今日やることのチェックリストは、noteにまとめています。
PA自体で修正された脆弱性(2.1.24)については、こちらで解説しています。