Oracle Java 脆弱性(2026年10月)|影響確認と更新判断

  • URLをコピーしました!
目次

はじめに

2026年10月21日、IPA は「Oracle Java の脆弱性対策について(2026年10月)」を公開し、Oracle が公表したセキュリティ更新の早急な適用を呼びかけました。Oracle 側の Critical Patch Update(CPU)は、米国時間の2026年10月20日に公開されています。

さらに翌日の2026年10月21日(米国時間)、Oracle は定例 CPU とは別に、Java SE の脆弱性 CVE-2026-91403 に関する Security Alert を公開しました。この Security Alert では、10月 CPU の修正リリースである 27.0.1、25.0.5、21.0.13 などが影響対象に含まれています。

ただし、IPA の「対象」に並ぶバージョンは更新先ではなく、脆弱性の影響を受ける版です。さらに今回は Oracle JDK 21 のライセンスが 21.0.13 から変わったため、「最新版へ上げる」だけでは企業の更新判断が完結しません。

この記事でわかること
  • 2026年10月の Oracle Java SE 修正の規模と、攻撃条件の読み方
  • 定例 CPU と Security Alert(CVE-2026-91403)の違いと、対応完了の確認方法
  • Java 8 / 11 / 17 / 21 / 25 / 26 / 27 ごとの影響バージョンと修正リリース
  • Windows / Linux で実際に使われている Java を確認するコマンド例と、その限界
  • 本番環境の Java を更新する前に確認すべき項目と手順
  • Oracle JDK 21.0.13 から始まった OTN ライセンスへの変更点

まず自社で使われている Java の配布元と実行バージョンを確認し、Oracle JDK であれば10月 CPU の修正リリース(27.0.1、25.0.5、21.0.13、17.0.21、11.0.33、8u511)以降への更新を計画してください。ただし、これらのバージョンは CVE-2026-91403 の影響対象のため、10月 CPU の修正リリースへ更新しただけでは2026年10月に公表された Oracle Java の脆弱性すべてに対応したことにはなりません。CVE-2026-91403 については、Oracle が案内する修正パッチの提供状況と適用状況を別途確認します。Oracle JDK 21 は 21.0.13 から OTN ライセンスで提供されるため、更新前にライセンス条件の確認も必要です。サポートが終了した Java 26 には今回の修正リリースがないため、Java 27 またはサポート中の LTS 系への移行を検討します。

Oracle Java の脆弱性(2026年10月)の概要

今回の注意喚起は、Oracle の四半期定例パッチである2026年10月の CPU に含まれる Java SE の修正を対象としています。IPA は、悪用された場合にアプリケーションの異常終了や、攻撃者によるパソコンの制御などの被害が発生するおそれがあると説明しています。

参考: IPA「Oracle Java の脆弱性対策について(2026年10月)」
“早急にセキュリティ更新プログラムを適用してください。”
https://www.ipa.go.jp/security/security-alert/2026/1021-jre.html

公開日と関連リリースの時系列

Oracle の CPU は米国時間で公開されるため、IPA の公開日とは1日ずれます。直近のリリースを並べると、次のとおりです。

日付公開元内容
2026年8月18日Oracle8月の CSPU(25.0.4.1、21.0.12.1、17.0.20.1、11.0.32.1、8u503 など)
2026年9月OracleJava 26 のサポート終了
2026年9月15日OracleJDK 27 の一般提供開始
2026年10月20日(米国時間)Oracle10月の CPU(27.0.1、25.0.5、21.0.13、17.0.21、11.0.33、8u511)と BPR を公開
2026年10月21日IPA「Oracle Java の脆弱性対策について(2026年10月)」を公開(10月 CPU が対象)
2026年10月21日(米国時間)Oracle定例 CPU とは別に、Security Alert CVE-2026-91403 を公開
2026年11月17日(予定)Oracle次回の CSPU

出典は、ops.java の JDK リリース一覧、Oracle Critical Patch Update Advisory – October 2026、Oracle Security Alert Advisory – CVE-2026-91403です。将来の予定日は変更される可能性があります。

CPU・CSPU・BPR の違い

Oracle Java の更新には、目的の異なる3種類のリリースがあります。Risk Matrix の読み方を含む Oracle 製品全体の対応フローは、Oracle 脆弱性対応の進め方で解説しています。

CPU(Critical Patch Update)

1月・4月・7月・10月の第3火曜日に公開される、四半期ごとの累積的なセキュリティ更新です。今回の 21.0.13 などが該当します。

CSPU(Critical Security Patch Update)

四半期の CPU を補完する、対象を絞った優先度の高いセキュリティ修正です。CPU の月以外の第3火曜日に公開されます。8月の 21.0.12.1 などが該当します。

BPR(Bundled Patch Release)

CPU リリースをベースに、不具合修正やタイムゾーンデータの更新を加えたリリースです。今回は、タイムゾーンデータ 2026e を適用した 21.0.13.0.1 などが CPU と同日に公開されています。

55件の修正と攻撃条件の読み方

Oracle の10月 CPU では、Oracle Java SE に55件の新しいセキュリティ修正が含まれ、そのうち49件は認証情報なしでネットワーク経由の悪用が可能とされています。翌日に公開された CVE-2026-91403 の Security Alert は、この件数に含まれません。ただし、この件数だけで「すべての Java アプリケーションがインターネットから直接攻撃される」と判断することはできません。

  • Risk Matrix の「Remote Exploit without Auth.」は認証が不要かどうかを示す項目で、ユーザー操作の要否は「User Interact」で別に評価されています。
  • Java SE の多くの CVE には、「API にデータを渡す Web サービス経由で悪用され得る」「サンドボックスで信頼できないコードを実行するクライアントが対象」といった適用条件が CVE ごとに付記されています。
  • CVSS 基本値は脆弱性の性質を示す指標で、自社環境での到達性やアプリケーションの使い方は反映されません。

本記事作成時点(2026年10月22日)で、10月 CPU の Java SE の修正について実際の悪用を確認したとする Oracle の記載は確認できていません。実悪用の状況は、CISA の Known Exploited Vulnerabilities Catalog などで継続的に確認してください。

攻撃条件が異なる代表的な CVE

攻撃条件の違いが分かる例として、Oracle が CNA として公開した CVE レコードから3件を抜粋します。網羅的な一覧は Oracle の Risk Matrix を確認してください。

CVEコンポーネントCVSS 3.1主な攻撃条件影響バージョン
CVE-2026-914152D7.0ネットワーク経由、認証不要、ユーザー操作不要、攻撃難度は高8u503、8u503-perf、11.0.32.1、17.0.20.1、21.0.12.1、25.0.4.1、27
CVE-2026-91484Java plugin7.5ローカルログオンと低権限が必要、攻撃難度は高、スコープ変更あり8u503、8u503-perf
CVE-2026-91375Libraries4.7ローカルからの攻撃(AV)、必要権限なし(PR)、ユーザー操作が必要(UI)。ネットワーク経由の未認証悪用には該当しない8u503-perf、11.0.32.1、17.0.20.1、21.0.12.1、25.0.4.1、27

CVE-2026-91415 は、API にデータを渡す Web サービス経由でも悪用され得るとされており、サーバー用途でも優先度を上げて評価すべき例です。一方、CVE-2026-91484 は、サンドボックスで信頼できないコードを実行するクライアント向けの脆弱性で、管理者が導入した信頼済みコードのみを実行するサーバーには該当しないと説明されています。CVSS の数値が高い順に対応するのではなく、自社の Java の使い方に照らして優先度を決めることを推奨します。

Security Alert CVE-2026-91403 の概要と確認事項

CVE-2026-91403 は、10月 CPU の翌日に Oracle が個別に公開した Security Alert です。定例 CPU とは公開日、影響バージョン、修正情報の確認先が異なるため、分けて管理する必要があります。

項目10月 CPU(定例)Security Alert CVE-2026-91403
公開日2026年10月20日(米国時間)2026年10月21日(米国時間)
Java SE の修正件数55件1件
Oracle Java SE の影響バージョン27、26.0.2、25.0.4.1、21.0.12.1、17.0.20.1、11.0.32.1、8u503、8u503-perf27.0.1、25.0.5、21.0.13、17.0.21、11.0.33、8u511、8u511-perf
修正情報・適用条件の確認先通常配布の修正リリース(27.0.1、21.0.13 など)My Oracle Support の文書(CPU426)で案内
IPA の注意喚起2026年10月21日に掲載2026年10月22日の確認時点で記載なし

Oracle GraalVM for JDK(17.0.21、21.0.13)と Oracle GraalVM Enterprise Edition(21.3.20)も、この Security Alert の対象です。

また、Oracle はサポート対象外の古いリリースを検証していないものの、同じ脆弱性の影響を受ける可能性が高いと説明しています。10月 CPU の適用前のバージョンに戻すことは対策にはなりません。(出典: Oracle Security Alert Advisory – CVE-2026-91403)

脆弱性の概要と攻撃条件

対象コンポーネントは、Java で TLS 通信を扱う JSSE(Java Secure Socket Extension)です。Oracle の Risk Matrix では、プロトコルは「Multiple」、認証なしでのリモート悪用が可能とされ、CVSS v3.1 の基本値は 9.1 です。評価の内訳は、攻撃元区分がネットワーク、攻撃条件の複雑さが低、必要な特権レベルとユーザー関与がいずれも不要、機密性と完全性への影響が高、可用性への影響はなしです。

ただし、すべての Java アプリケーションが一律にリモートから攻撃されるわけではありません。Oracle の Note 1 は、成立条件を次のように説明しています。

参考: Oracle Security Alert Advisory – CVE-2026-91403(Note 1)
“e.g., through a web service which supplies data to the APIs.”
(例: 指定コンポーネントの API にデータを渡す Web サービスを経由した悪用)
https://www.oracle.com/security-alerts/alert-cve-2026-91403.html

Note 1 では、JSSE の API を利用するアプリケーションに加えて、サンドボックス化された Java Web Start アプリケーションや Java アプレットなど、インターネット由来の信頼できないコードを読み込み、Java のサンドボックスに依存するクライアント環境も対象とされています。Security Alert には実悪用の有無に関する記載はなく、本記事作成時点で実悪用を確認したとする Oracle の情報も確認できていません。

修正パッチの確認先と公開情報の限界

公開の Security Alert は影響バージョンを示していますが、パッチの提供情報と適用手順の確認先として My Oracle Support の文書(CPU426)を案内しています。2026年10月22日の確認時点では、公開情報から CVE-2026-91403 の修正を含む Oracle JDK のビルド番号を特定できませんでした。JDK 21.0.13 のリリースノートにも、CVE-2026-91403 への言及はありません。

Java Downloads に掲載されている BPR(21.0.13.0.2 など)が CVE-2026-91403 の修正を含むかどうかは、公開情報では確認できていません。修正済みかどうかは、My Oracle Support の CPU426 で、利用中の製品・系列に対応するパッチと適用条件を確認して判断してください。My Oracle Support を参照できない場合は、販売代理店や Oracle への問い合わせ、または公開情報の更新を待って確認する必要があります。

優先して確認すべき Java 環境

Note 1 の成立条件から、次のような環境を優先して棚卸しすることを推奨します。

  • 外部や信頼できないネットワークから到達できる Web サービスや API サーバーのうち、影響バージョンの Java で TLS 通信を処理しているもの
  • 外部から受け取ったデータを JSSE の API に渡す処理を持つアプリケーション
  • 10月 CPU を受けて、すでに 27.0.1、25.0.5、21.0.13、17.0.21、11.0.33、8u511 へ更新したサーバーやクライアント
  • サンドボックスで信頼できないコードを実行しているクライアント環境

10月 CPU を適用済みの環境も、CVE-2026-91403 の確認対象から除外できません。Oracle JDK 以外の配布元を利用している場合は、各配布元が CVE-2026-91403 についてどのような情報を公開しているかを個別に確認してください。

影響バージョンと修正版の対応表

IPA と Oracle の「対象」一覧は、Risk Matrix の「Supported Versions Affected」に相当する影響バージョンです。一覧に載っているバージョンを使っている場合は「修正済み」ではなく「影響を受ける」状態です。10月 CPU の修正に対する更新先は、次の表の修正リリース以降です。

リリース系列影響バージョン(Oracle / IPA の掲載)2026年10月 CPU の修正リリース補足
Java 272727.0.12026年9月 GA の非 LTS
Java 2626.0.2提供なし2026年9月にサポート終了
Java 25(LTS)25.0.4.125.0.5最新の LTS
Java 21(LTS)21.0.12.121.0.1321.0.13 から OTN ライセンス
Java 17(LTS)17.0.20.117.0.21OTN ライセンス
Java 11(LTS)11.0.32.111.0.33OTN ライセンス
Java 8(LTS)8u5038u511OTN ライセンス
Java 8 Enterprise Performance Pack8u503-perf8u511-perfJava SE サブスクリプション向け

修正リリースは、Oracle の Oracle Critical Patch Update (CPU) October 2026 for Oracle Java SE と Java Downloads で確認できます。Oracle GraalVM for JDK(17.0.20.1、21.0.12.1)や Oracle JavaFX も10月 CPU のアドバイザリの対象に含まれているため、利用している場合は個別に確認してください。

なお、表の修正リリースはいずれも CVE-2026-91403 の影響バージョンです。このバージョン番号に到達していることは「10月 CPU の修正を含む」ことの目安にはなりますが、CVE-2026-91403 への対応完了を示すものではありません。

8月の CSPU を適用済みでも今回の対象

影響バージョンの 21.0.12.1、17.0.20.1、11.0.32.1、8u503 などは、2026年8月18日の CSPU で公開されたリリースです。8月の更新を適用済みの環境も、今回の CPU の対象に含まれます。「直近で更新したから大丈夫」と判断せず、実行中のバージョンを表と照合してください。

CPU と BPR のバージョン番号の見分け方

CPU と同日に公開された BPR は、21.0.13.0.1 のように CPU のバージョンの後ろに番号が付きます。記事作成時点の Java Downloads では、JDK 21 / 17 / 11 として 21.0.13.0.2、17.0.21.0.2、11.0.33.0.2 が掲載されていました。これらは10月 CPU のリリース(21.0.13、17.0.21、11.0.33)をベースにした BPR で、10月 CPU の修正を含むかどうかは先頭の CPU バージョンで判断できます。一方、CPU 後に個別公開された Security Alert の修正を含むかどうかは、BPR の番号からは判断できません。CVE-2026-91403 については、前章のとおり My Oracle Support の案内で別途確認してください。

JDK 21.0.13 のリリースノートでは、10月 CPU 時点の JRE のセキュリティベースラインとして 21.0.13+10、17.0.21+9、11.0.33+9、1.8.0_511-b09 が示されています。バージョン管理ツールや資産管理台帳で10月 CPU への対応を判定する場合は、この値を基準にすると CPU と BPR の取り違えを防げます。

Java 26 を利用している場合

Java 26 は2026年9月でサポートが終了しており、10月 CPU のリリース一覧にも Java 26 系列は含まれていません。同じ系列の修正版を待つのではなく、Java 27 またはサポート中の LTS(25 など)への移行を計画する必要があります。Java 26 が非 LTS であることや移行時の考え方は、Java 26 の新機能と JVP で解説しています。

参考: Oracle Critical Patch Update Advisory – October 2026
“remain on actively-supported versions and apply security patches without delay”
(サポート中のバージョンを使い続け、セキュリティパッチを遅滞なく適用すること)
https://www.oracle.com/security-alerts/cpuoct2026.html

移行先を選ぶ際は、アプリケーションが新しいバージョンで動作することの確認が前提になります。非 LTS の Java 27 は2027年3月に JDK 28 で置き換えられる予定のため、半年ごとの更新を運用できない場合は LTS を移行先として検討することをおすすめします。

Oracle JDK 以外の配布元を利用している場合

本記事の対応表は Oracle JDK のバージョンです。Eclipse Temurin、Amazon Corretto、Microsoft Build of OpenJDK、Red Hat build of OpenJDK など OpenJDK 系のディストリビューションは、配布元ごとに修正版のバージョン番号と公開日が異なります。Oracle の表で判定せず、各配布元のセキュリティ情報やリリースノートで修正状況を確認してください。

Windows / Linux で Java のバージョンを確認する方法

java -version で分かるのは、PATH 上で最初に見つかった1つの Java だけです。サーバー内で動いているすべての Java を把握するには、PATH、JAVA_HOME、実行中プロセスの実体パスを組み合わせて確認します。以下は公式資料に基づく手順例で、出力内容は OS や Java の配布元によって異なります。

Windows での確認

コマンドプロンプトで、PATH 上の Java のバージョン、PATH 上にある java.exe の一覧、JAVA_HOME の値を確認します。where はカレントディレクトリと PATH から一致するファイルをすべて表示するため、複数の Java がインストールされている場合の把握に役立ちます。

java -version
where java
echo %JAVA_HOME%

実行中の Java プロセスがどの実行ファイルから起動されたかは、PowerShell の Get-Process で確認できます。サービスとして動作するプロセスの Path を表示するには、管理者権限が必要になる場合があります。

Get-Process -Name java, javaw -ErrorAction SilentlyContinue | Select-Object Id, Path

配布元(ベンダー)とインストール先は、-XshowSettings:properties で表示されるシステムプロパティの java.vendor、java.home、java.runtime.version で確認できます。

java -XshowSettings:properties -version 2>&1 | findstr /C:"java.vendor" /C:"java.home" /C:"java.runtime.version"

参考: The java Command(Oracle) / where(Microsoft Learn) / Get-Process(Microsoft Learn)

Linux での確認

PATH 上の Java のバージョンと、シンボリックリンクを解決した実体パス、JAVA_HOME の値を確認します。RHEL 系や Debian 系では alternatives の仕組みで /usr/bin/java がリンクになっていることが多いため、実体パスまで確認することを推奨します。

java -version
command -v java
readlink -f "$(command -v java)"
echo "$JAVA_HOME"

実行中の Java プロセスと、その実行ファイルの場所は次のように確認できます。<PID> には、1行目で確認したプロセス ID を指定します。他ユーザーのプロセスを確認する場合は root 権限が必要です。

ps -eo pid,args | grep '[j]ava'
ls -l /proc/<PID>/exe

配布元とバージョンの詳細は、Windows と同じシステムプロパティで確認できます。

java -XshowSettings:properties -version 2>&1 | grep -E 'java\.(vendor|home|runtime\.version)'

参考: The java Command(Oracle) / proc(5)(Linux man-pages)

コマンドで確認できる範囲と確認できない範囲

上記のコマンドで確認できるのは、PATH 上の Java、JAVA_HOME に設定された Java、確認時点で実行中の Java プロセスです。次のような Java は、これらのコマンドだけでは漏れる可能性があります。

  • 業務アプリケーションやミドルウェアのインストールディレクトリに同梱された Java ランタイム
  • 確認時点で停止しているバッチや、定期実行ジョブが使う Java
  • コンテナイメージ内の Java(ホスト OS 側のコマンドでは、イメージ内のバージョンを確認できません)
  • 起動スクリプトやサービス定義でフルパス指定された Java

これらは、ファイルシステム上の java / java.exe の検索、サービス定義や起動スクリプトの確認、コンテナイメージのスキャン、資産管理ツールの棚卸しを組み合わせて把握します。

Oracle の Java Management Service(JMS)も選択肢の1つです。JDK 21.0.13 のリリースノートによると、JMS はすべてのユーザーが利用でき、システム内の脆弱な Java バージョンの発見に役立つとされています。一方で、JMS による Java ランタイムの更新や、Java プログラムが使うサードパーティーライブラリの脆弱性確認などは、Java SE サブスクライバーと Oracle Cloud 上で実行している顧客向けの機能です。利用条件の詳細は Java Management Service のドキュメントで確認してください。

Java 更新の判断と適用後の確認

本番環境では、修正版の有無に加えて、アプリケーションの対応状況、ライセンス、切り戻し方法をそろえてから更新します。次の流れで進めることを推奨します。

手順
利用中の Java を棚卸しする

サーバーごとに、Java の製品名、配布元、バージョン、インストール先、その Java を使うアプリケーションを一覧にします。前章のコマンドと資産管理情報を組み合わせて作成します。

手順
影響と優先度を判断する

Oracle JDK は10月 CPU の Risk Matrix と対応表、OpenJDK 系は各配布元の情報で影響を判断します。あわせて、CVE-2026-91403 の Security Alert の影響バージョンにも該当するかを確認し、該当する場合は My Oracle Support の CPU426 で、利用中の製品・系列に対応するパッチの提供状況と適用条件を確認します。インターネットや社外から到達できるサービス、信頼できないデータを処理する Java アプリケーションを優先します。

手順
アプリケーションベンダーの対応状況を確認する

パッケージ製品やミドルウェアは、ベンダーがサポートする Java のバージョンを確認します。ベンダー独自の修正パッチや、更新後のサポート条件が示されている場合はそれに従います。

手順
ライセンス条件を確認する

更新先の Oracle JDK が NFTC と OTN のどちらで提供されるかを確認します。特に Oracle JDK 21 は 21.0.13 から条件が変わるため、本番利用の可否を事前に確認します。

手順
バックアップと切り戻し方法を用意する

現行の Java ディレクトリ、JAVA_HOME や起動スクリプトの設定、変更を加える設定ファイルを保存し、旧バージョンへ戻す手順を決めておきます。

手順
検証環境で動作確認してから更新する

検証環境で主要な業務機能、外部接続、バッチ処理を確認してから本番へ適用します。JDK 21.0.13 では、一部の認証局が発行した TLS サーバー証明書の信頼ポリシー変更や、HttpServer での Host ヘッダー検証などの変更が含まれているため、リリースノートの変更点も確認対象に含めてください。CVE-2026-91403 のパッチを適用する場合は、対象が TLS 通信を扱う JSSE であるため、外部サービスとの TLS 接続や、TLS を受け付けるサービスの動作も確認対象に加えます。

手順
更新後に実行中の Java とアプリケーションを確認する

アプリケーションを再起動したうえで、実行中プロセスの実体パスとバージョンが新しい Java になっていることを確認します。新しい Java を追加インストールしただけでは、旧バージョンを参照し続けるサービスが残る場合があります。CVE-2026-91403 については、実行中の Java の配布元とビルドが、適用したパッチの対象と一致していることを、My Oracle Support の文書で示される方法に沿って確認します。

なお、JDK 21.0.13 のリリースノートは、次回の更新予定日である2026年11月17日以降に 21.0.13 を使い続けることを推奨していません。今回の更新で終わりにせず、月次の CSPU と四半期の CPU を前提にした更新サイクルを計画することをおすすめします。

Java を手動で更新できない製品の扱い

業務システムやアプライアンスには、ベンダーが Java ランタイムを同梱・指定しているものがあります。このような製品で、同梱の Java を利用者側で差し替えると、動作保証やサポートの対象外になる可能性があります。

同梱 Java の製品は、ベンダーのセキュリティ情報と修正パッチの提供時期を確認するのが先です。提供までの間は、該当サービスへのアクセス元の制限や、不要な機能の停止などで攻撃の機会を減らすことを検討してください。

Oracle 自身の製品が Java を内包している場合も、Java SE の更新とは別に、各製品の CPU パッチとして提供されることがあります。製品ごとの Patch Availability Document を確認してください。

Oracle Java のライセンス変更と注意点

今回の更新判断で最も注意が必要なのが、Oracle JDK 21 のライセンス変更です。Oracle JDK 21.0.13 は、JDK 21 のアップデートとして初めて Oracle Technology Network License Agreement for Oracle Java SE(OTN)で提供されました。21.0.12.1 以前の JDK 21 アップデートは、Oracle No-Fee Terms and Conditions(NFTC)で提供されていました。

参考: JDK 21.0.13 Release Notes(Oracle)
“This license is substantially different from the Oracle No-fee Terms and Conditions”
(このライセンスは、Oracle No-Fee Terms and Conditions とは大きく異なります)
https://www.oracle.com/java/technologies/javase/21-0-13-relnotes.html

Oracle の説明では、OTN は個人利用や開発用途などを無償で認める一方、NFTC で認められていた他の用途が利用できなくなる可能性があります。JavaFX 21 についても、2026年9月より後にリリースされるアップデートで同様の変更が適用されます。

リリース系列ごとのライセンス

記事作成時点の Java Downloads の記載をもとに、10月 CPU の修正リリースが提供されるライセンスを整理します。

リリース系列修正リリースライセンスOracle の記載
Java 2727.0.1NFTC2027年3月に JDK 28 で置き換えられるまで NFTC で更新
Java 2525.0.5NFTC2028年9月まで NFTC で更新し、それ以降のアップデートは OTN
Java 2121.0.13OTN21.0.13 以降が OTN(21.0.12.1 以前は NFTC)
Java 1717.0.21OTN17.0.13 以降が OTN(2024年10月に変更)
Java 1111.0.33OTN本番・商用利用には Java SE Universal Subscription などが必要
Java 88u511OTN2019年4月に OTN へ変更

同じ「Oracle JDK」でも、系列とアップデート番号によって条件が異なります。Java の配布元とバージョンを確認せずに、一律に「無償」「有償」と判断しないでください。ライセンス条件の最終確認は、OTN for Java SE、NFTC、Oracle Java SE の FAQ など Oracle の公式資料で行い、必要に応じて Oracle や販売代理店へ問い合わせてください。

Oracle JDK 21 を本番で使っている場合の選択肢

NFTC で提供されていた 21.0.12.1 以前を使い続けると、今回の修正は適用されません。修正を適用しつつライセンス条件を満たすには、主に次の選択肢があります。

  • Java SE サブスクリプションなど、OTN の無償範囲を超える利用に必要な契約を確認したうえで 21.0.13 以降へ更新する
  • NFTC で提供されている Oracle JDK 25 へ移行する(アプリケーションとベンダーの対応確認が前提)
  • OpenJDK 系ディストリビューションの JDK 21 修正版へ切り替える

どの選択肢でも、アプリケーションベンダーがその Java の配布元・バージョンをサポートしているかの確認が必要です。

Oracle JDK と OpenJDK 系ディストリビューションの違い

Oracle JDK は Oracle が提供するビルドで、ライセンスは上記の NFTC または OTN です。OpenJDK 系のディストリビューションは、OpenJDK のソースコードをもとに各配布元がビルドしたもので、ライセンス、アップデートの提供期間、商用サポートの有無は配布元ごとに異なります。

OpenJDK 系への移行はライセンス費用の観点で選択肢になりますが、移行すれば互換性やライセンス上の課題がすべて解消するわけではありません。配布元のライセンス条件とサポート期間、アプリケーションベンダーの動作保証、検証環境での動作確認をそろえたうえで判断することを推奨します。

まとめ

2026年10月の Oracle Java の脆弱性対応は、修正版へ上げる作業そのものより、どの Java がどこで使われているかの把握が出発点になります。そのうえで、10月 CPU と Security Alert CVE-2026-91403 を分けて対応状況を管理し、Oracle JDK 21 のライセンス変更と Java 26 のサポート終了を踏まえて更新先を選ぶ必要があります。

  • IPA の対象一覧は更新先ではなく、影響を受けるバージョン
  • 10月 CPU の修正版は 27.0.1、25.0.5、21.0.13、17.0.21、11.0.33、8u511
  • 上記の修正版も CVE-2026-91403 の影響対象で、別途パッチ確認が必要です。
  • Java 26 は修正版がなく、27 または LTS への移行が必要です。
  • java -version だけでは同梱やコンテナ内の Java を把握できません。
  • Oracle JDK 21 は 21.0.13 から OTN となり、事前のライセンス確認が必要です。
  • 同梱 Java の製品は、差し替え前にベンダーの対応を確認します。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

関西を拠点に活動する、現役インフラエンジニア。経験20年超。

大手通信キャリアにて、中〜大規模インフラ(ネットワーク・サーバ・クラウド・セキュリティ)の設計・構築およびプロジェクトマネジメントに従事。現場で直面した技術課題への対処や、最新の脆弱性情報への実務対応を、一次情報として発信しています。

保有資格
CCIE Lifetime Emeritus(取得から20年以上)/ VCAP-DCA / Azure Solutions Architect Expert

▶ 運営者プロフィール(詳細)

目次