Oracle Java SE に致命的な脆弱性があり、データの盗み見や改ざんができる。10月22日の夜、こんなニュースが流れました。
深刻度は10点満点で9.1。Java を使っている人はドキッとしたはずです。
公式の発表を確かめると、中身は、先に話題になった「eMudhra(イーマドラ)」の証明書問題の Java 版でした。修正版とみられる版も出ています。正体が分かれば、やることははっきりしています。
報道の中身は、事実としては正しい
元になったのは、窓の杜の記事です(「Oracle Java SE」にも致命的な脆弱性)。書かれていることは、Oracle の公式のアラートと一致しています。
- Oracle が10月21日(米国時間)に、定例とは別の臨時アラートとして出した
- 深刻度は CVSS 3.1 で 9.1。ネットワーク越しに、ログインなしで攻撃できる
- 影響は、情報の漏えいと改ざん(サービスが止まる影響はなし)
- 対象は Java SE 8u511・11.0.33・17.0.21・21.0.13・25.0.5・27.0.1 と、GraalVM の一部
ただ、記事には載っていない大事な情報が2つあります。
正体は「eMudhra の中間証明書8つ」
Oracle のアラートには、原因が書かれていません。影響する場所が「JSSE」、つまり Java の暗号通信(HTTPS など)の部分だとあるだけです。
原因を書いているのは、Java のオープンソース版を開発する OpenJDK の勧告です。そこには、CVE-2026-91403 は「漏えいした8つの中間証明書」に関するものだと書かれています。リンク先は、eMudhra の件の確認サイトです。
eMudhra の件は、前の記事で書きました。インドの認証局 eMudhra の中間証明書8つの秘密鍵が、割り出せる状態だった問題です。悪用されると、他人のサイトの偽の証明書が作れます。
Java は、独自の証明書リストを持っています。そのリストが、この危ない証明書を信じたままだった。これが今回の「致命的な脆弱性」の正体です。Java のプログラムに新しい穴が見つかった、という話ではありません。
報道にある「容易に悪用可能」という表現は、深刻度の評価の言い方です。実際に悪用するには、偽の証明書を作ったうえで、通信の途中に割り込む必要があります。それでも、相手を本物と信じ込んで通信してしまうので、放置していい話ではありません。
修正版とみられる版は出ている
窓の杜の記事には「CVE-2026-91403 を修正したと明記したバージョンは見つけられなかった」とあります。これは今も正しく、Oracle のリリースノートには、10月22日夜の時点でまだ項目が見当たりません。ただ、配布の状況を見ると、修正版とみられる版はもう出ています。
- OpenJDK の勧告は「このリリースで修正した」としている(版番号は書いていない)
- Oracle のダウンロードページには 27.0.1.0.2・25.0.5.0.2・21.0.13.0.2・17.0.21.0.2・11.0.33.0.2 が並んでいる(10月22日夜に確認)
- eMudhra の件の確認サイトも、これらを対応済みの版として載せている
これらは Oracle JDK の版番号で、ほかの配布元は番号の付け方が違います。8系は特にややこしく、Oracle のダウンロードの版番号は 8u511 のままです。一方で Oracle のアラートは 8u511 を、OpenJDK の勧告は 8u512 以前を影響ありとしています。8系を使っている人は、配布元の告知で確かめてください。
あなたの Java は、どれ?
やることは、Java の入れ方で変わります。
OS に付属の Java なら、OS の証明書の更新で足ります。OpenJDK の勧告によると、Debian・Ubuntu・RHEL・Fedora・Arch・Gentoo・Oracle Linux などの Java は、ふつうは OS の証明書を使っています。Debian・Ubuntu なら次のとおりです。
自分で入れた Java は、本体の更新が必要です。Oracle JDK や、zip で入れた OpenJDK がこれにあたります。勧告では、Homebrew と FreeBSD の Java も直接の更新が必要とされています。複数の版を入れている人は、全部です。
コンテナの中の Java も忘れずに。Docker イメージに入った JDK は、作り直さない限り古いままです。修正版のベースイメージで作り直しましょう。
すぐ更新できないとき
OpenJDK の勧告には、すぐ更新できない人向けの方法が2つ書かれています。
- ブロックリストを差し替える。勧告からダウンロードできる blocked.certs(Windows 用とそれ以外の2種類)で、Java の中の lib/security/blocked.certs を置き換えます(JDK 8 は blacklisted.certs)。自分で書き足していた人は、バックアップしてから足し直してください
- 証明書の失効チェックを有効にする。HTTPS を使うアプリなら、起動オプションに次の2つを足します
どちらも応急処置です。落ち着いたら、修正版に更新してください。
まとめ
「Java に致命的な脆弱性」の正体は、eMudhra の証明書問題でした。
- OS に付属の Java は、OS の証明書を更新する
- 自分で入れた Java は、修正版(Oracle JDK なら 21.0.13.0.2 など)に更新する
- コンテナの中は、作り直す
見出しの強さに比べると、やることはシンプルです。eMudhra の件で pip・Node.js・Docker も見ておくべき理由は、こちらにまとめています。PHPの裏でもう一つ。「eMudhra」証明書問題、一般の人は更新と再起動だけ/開発者は4か所を更新(無料)
この記事の下書きと図版の作成には、生成AIを使っています。
#Java #脆弱性 #CVE -2026-91403 #eMudhra #証明書 #セキュリティ #OpenJDK #AI活用
출처: note 원문
번역: Qwen 3.5(.48) 초벌 + 교정 검수
원문 보기 | 출처: note.com