[アップデート] Amazon Corretto の初回 CSPU(月次セキュリティパッチ)がリリースされたのでアップデートして差分を確認してみた
いわさです。
Java のセキュリティアップデート、これまで四半期ごと(1月・4月・7月・10月)にリリースされていたのですが、Oracle が 7 月に月次へ移行する方針を発表していました。
四半期の CPU(Critical Patch Update)の間を埋める形で、CSPU(Critical Security Patch Update)という月次リリースが始まるとのことです。
で、この初回 CSPU が 8 月 18 日にリリースされ、Amazon Corretto にも反映されています。
対象は Corretto 26.0.2.11.1、25.0.4.8.1、21.0.12.9.1、17.0.20.10.1、11.0.32.10.1、8u504 です。
今回こちらを確認してみたので紹介します。
Corretto 21 を CSPU 版にアップデートして確認してみる
Corretto 21(LTS)でアップデート前後のセキュリティ設定の差分を見てみます。
macOS(Apple Silicon)環境です。
Homebrew では corretto@21 として既に 21.0.12.9.1 が配信されていますが、手元は 21.0.10.7.1(1 月の四半期アップデート)のまま放置していたので、だいぶ差分が出る状態ですね。
7 月の四半期アップデートで 21.0.12.8.1 がリリースされており、今回の CSPU はそこからさらにパッチを当てた 21.0.12.9.1 です。
アップデート前のバージョンです。
$ /Library/Java/JavaVirtualMachines/amazon-corretto-21.jdk/Contents/Home/bin/java -version
openjdk version "21.0.10" 2026-01-20 LTS
OpenJDK Runtime Environment Corretto-21.0.10.7.1 (build 21.0.10+7-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.10.7.1 (build 21.0.10+7-LTS, mixed mode, sharing)
公式サイトから tar.gz を落として展開し、CSPU 版を確認します。
$ curl -sL "https://corretto.aws/downloads/latest/amazon-corretto-21-aarch64-macos-jdk.tar.gz" \
-o /tmp/corretto-21-latest.tar.gz
$ mkdir -p /tmp/corretto-21-new
$ tar xzf /tmp/corretto-21-latest.tar.gz -C /tmp/corretto-21-new
$ /tmp/corretto-21-new/amazon-corretto-21.jdk/Contents/Home/bin/java -version
openjdk version "21.0.12.1" 2026-08-18 LTS
OpenJDK Runtime Environment Corretto-21.0.12.9.1 (build 21.0.12.1+9-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.12.9.1 (build 21.0.12.1+9-LTS, mixed mode, sharing)
21.0.12.1 になっていますね。
ちなみに四半期 CPU 版は 21.0.12(3桁)で、CSPU 版は 21.0.12.1 と 4桁目が付きます。4桁目の有無で CSPU かどうか見分けられるみたいです。
セキュリティ設定の差分
java -XshowSettings:security で JDK のセキュリティプロパティを一覧表示できます[1]。
これを新旧で出力して diff を取ってみました。
$ diff <(old_java -XshowSettings:security -version 2>&1) \
<(new_java -XshowSettings:security -version 2>&1)
差分が 3 つ確認できました。
まず com.sun.security.crl.maxSize が新設されています。
> com.sun.security.crl.maxSize=20971520
CRL(証明書失効リスト、失効した証明書の一覧を CA が公開するもの)の最大サイズが 20MB に制限されるようになっています。これまでサイズ制限がなかったところに上限が入った形ですね。
今回の CVE 3 件のいずれかに直接対応しているかは確認できませんでした。
次に jdk.security.caDistrustPolicies に CHUNGHWA_TLS が追加。
< jdk.security.caDistrustPolicies=SYMANTEC_TLS,ENTRUST_TLS,CAMERFIRMA_TLS
> jdk.security.caDistrustPolicies=SYMANTEC_TLS,ENTRUST_TLS,CAMERFIRMA_TLS,CHUNGHWA_TLS
jdk.security.caDistrustPolicies は、特定の認証局が発行した TLS サーバー証明書を信頼しないようにするセキュリティプロパティです。
これまで Symantec、Entrust、Camerfirma の 3 つが登録されていたところに、今回 Chunghwa Telecom(中華電信)が追加されました。
java.security ファイルのコメントによると、2026 年 3 月 17 日以降に Chunghwa のルート CA から発行された TLS サーバー証明書が信頼されなくなるとのことです。
CHUNGHWA_TLS : Distrust TLS Server certificates anchored by a Chunghwa root CA and issued after March 17, 2026.
Chunghwa Telecom は台湾の通信事業者で、ePKI / HiPKI という認証局を運営しています。
2025 年に Google Chrome がコンプライアンス上の問題を理由に信頼取り消しを発表[2]していて、Java でも同様の対応が入った形です。
あと Signature.NONEwithRSA が SunRsaSign プロバイダのサービスに追加されていました。NONEwithRSA はハッシュ計算を JDK 側で行わず、事前に自分でハッシュした値に対して直接 RSA 署名を行うためのアルゴリズムです。HSM やスマートカードとの連携で、ハッシュと署名を別々のステップで処理したいケースなどで使われます。
Java コードからも確認
Security.getProperty() でも変更を確認できます。
import java.security.Security;
public class SecurityCheck {
public static void main(String[] args) {
System.out.println("Java Version: " + System.getProperty("java.version"));
System.out.println("Java Runtime: " + System.getProperty("java.runtime.version"));
System.out.println();
String distrustPolicies = Security.getProperty("jdk.security.caDistrustPolicies");
System.out.println("CA Distrust Policies: " + distrustPolicies);
String crlMaxSize = Security.getProperty("com.sun.security.crl.maxSize");
System.out.println("CRL Max Size: " + crlMaxSize);
}
}
旧バージョン(21.0.10.7.1)で実行した場合です。
$ java SecurityCheck.java
Java Version: 21.0.10
Java Runtime: 21.0.10+7-LTS
CA Distrust Policies: SYMANTEC_TLS,ENTRUST_TLS,CAMERFIRMA_TLS
CRL Max Size: null
CSPU 版(21.0.12.9.1)で実行した場合です。
$ java SecurityCheck.java
Java Version: 21.0.12.1
Java Runtime: 21.0.12.1+9-LTS
CA Distrust Policies: SYMANTEC_TLS,ENTRUST_TLS,CAMERFIRMA_TLS,CHUNGHWA_TLS
CRL Max Size: 20971520
CHUNGHWA_TLS と crl.maxSize がちゃんと反映されていますね。
CVE 対応状況
Corretto 21.0.12.9.1 で対応された CVE は 3 件です。
| CVE | CVSS | コンポーネント |
|---|---|---|
| CVE-2026-61308 | 6.8 | core-libs/java.net |
| CVE-2026-70907 | 5.3 | security-libs/javax.net.ssl |
| CVE-2026-60589 | 3.7 | security-libs/javax.xml.crypto |
7 月の四半期アップデートが CVE 9 件(最高 CVSS 7.5)だったので、それと比べるとコンパクトです。CSPU は四半期 CPU の間を埋めるものなので、数件とこれくらいですね。
さいごに
本日は Amazon Corretto の初回 CSPU を Corretto 21 に適用して、セキュリティ設定の差分を確認してみました。
CVE 3 件の修正に加えて、Chunghwa Telecom CA の信頼取り消しや CRL サイズ制限の新設が入っていました。
今後は Corretto も毎月アップデートがリリースされる可能性があるので、覚えておくと良さそうです。








