java

JDK 8u451 Release Notes

Java SE 8u451 Bundled Patch Release (BPR) - Bug Fixes and Updates

The following sections summarize changes made in all Java SE 8u451 BPR. Bug fixes and any other changes are listed below in date order, most current BPR first. Note that bug fixes in the previous BPR are also included in the current BPR.

 

Changes in Java SE 8u451 b32

Bug Fixes

Release date: April 15, 2025

Fixes from the prior BPR are included in this version.


Java™ SE Development Kit 8, Update 451 (JDK 8u451)

Release date: April 15, 2025

The full version string for this update release is 1.8.0_451-b10 (where "b" means "build"). The version number is 8u451. This JDK conforms to version 8.6 of the Java SE Specification (JSR 337 MR 6 2024-07-02).

 

IANA TZ Data 2025a

JDK 8u451 contains IANA time zone data 2025a which contains the following changes since the previous update.

  • Paraguay adopts permanent -03 starting spring 2024.
  • Improve pre-1991 data for the Philippines.
  • Etc/Unknown is now reserved.

For more information, refer to Timezone Data Versions in the JRE Software.

 

Security Baselines

The security baselines for the Java Runtime at the time of the release of JDK 8u451 are specified in the following table:

Java Family Version Security Baseline (Full Version String)
81.8.0_451-b10

 

Keeping the JDK up to Date

Oracle recommends that the JDK is updated with each Critical Patch Update. In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.

Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 8u451) be used after the next critical patch update scheduled for July 15, 2025.

Java Management Service, available to all users, can help you find vulnerable Java versions in your systems. Java SE Subscribers and customers running in Oracle Cloud can use Java Management Service to update Java Runtimes and to do further security reviews like identifying potentially vulnerable third party libraries used by your Java programs. Existing Java Management Service user click here to log in to your dashboard. The Java Management Service Documentation provides a list of features available to everyone and those available only to customers. Learn more about using Java Management Service to monitor and secure your Java Installations.

For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u451) on 2025-08-15. After either condition is met (new release becoming available or expiration date reached), the JRE will provide additional warnings and reminders to users to update to the newer version. For more information, see 23.1.2 JRE Expiration Date in the Java Platform, Standard Edition Deployment Guide.

 

New Features

security-libs/javax.crypto:pkcs11
 Legacy Mechanism Check in SunPKCS11 Provider Is Enhanced with Service Type (JDK-8293345)

Native PKCS11 mechanisms which support decryption but not encryption, or signature verification but not signing, are considered legacy and are disabled by default. The legacy mechanism check in SunPKCS11 provider is enhanced with the service type. For example, prior to this fix, a mechanism supporting encryption, decryption, and verification but not signing, is considered legacy and can't be used at all. After this fix, the corresponding Cipher service using this mechanism is available since both encryption and decryption are supported. However, the corresponding Signature service is not since only verification is supported. To bypass the legacy mechanism check, set the PKCS11 provider configuration attribute "allowLegacy" to true. The default value is false. Note that it is the caller's responsibility to make sure the legacy mechanism is not used for the unsupported functionality.

 

Other Notes

javafx/other
 Removal of JavaFX from Oracle JDK 8 (JDK-8341994 (not public))

As announced in 2020, support for JavaFX on JDK 8, the last commercially supported version of JavaFX from Oracle, ended in March 2025. JDK 8 update 451 is the first upgrade of JDK/JRE 8 without JavaFX. Oracle continues to develop and release JavaFX as stand-alone modules via the OpenJFX project for the latest versions of Java only. For more details see the Java SE Spring 2024 Roadmap Update. Please contact Oracle Sales if you have any additional needs.

security-libs/javax.net.ssl
 Distrust TLS Server Certificates Anchored by Camerfirma Root Certificates and Issued After April 15, 2025 (JDK-8346587)

The JDK will stop trusting TLS server certificates issued after April 15, 2025 and anchored by Camerfirma root certificates, in line with similar plans announced by Google, Mozilla, Apple, and Microsoft.

TLS server certificates issued on or before April 15, 2025 will continue to be trusted until they expire. Certificates issued after that date, and anchored by any of the Certificate Authorities in the table below, will be rejected.

The restrictions are enforced in the JDK implementation (the SunJSSE Provider) of the Java Secure Socket Extension (JSSE) API. A TLS session will not be negotiated if the server's certificate chain is anchored by any of the Certificate Authorities in the table below and the certificate has been issued after April 15, 2025.

An application will receive an exception with a message indicating the trust anchor is not trusted, for example:

"TLS Server certificate issued after 2025-04-15 and anchored by a distrusted legacy

Camerfirma root CA: CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., 
SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU"

The JDK can be configured to trust these certificates again by removing "CAMERFIRMA_TLS" from the jdk.security.caDistrustPolicies security property in the java.security configuration file.

The restrictions are imposed on the following Camerfirma Root certificates included in the JDK:

Root Certificates distrusted after 2025-04-15
Distinguished Name SHA-256 Fingerprint
CN=Chambers of Commerce Root, OU=http://www.chambersign.org, O=AC Camerfirma SA CIF A82743287, C=EU

0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3

CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU

06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0

CN=Global Chambersign Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU

13:63:35:43:93:34:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BE:BA:CA

You can also use the keytool utility from the JDK to print out details of the certificate chain, as follows:

keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>

If any of the certificates in the chain are issued by one of the root CAs in the table above are listed in the output you will need to update the certificate or contact the organization that manages the server.

core-svc/tools
 JarInputStream Treats Signed JARs with Multiple Manifests As Unsigned (JDK-8337494 (not public))

The JarInputStream class now treats a signed JAR as unsigned if it detects a second manifest within the first two entries in the JAR file. A warning message "WARNING: Multiple MANIFEST.MF found. Treat JAR file as unsigned." is logged if the system property, -Djava.security.debug=jar, is set.

security-libs/javax.crypto:pkcs11
 Disable CKM_TLS_KEY_AND_MAC_DERIVE Mechanism in Solaris PKCS11 Configuration File (JDK-8245618)

On Solaris, the CKM_TLS_KEY_AND_MAC_DERIVE mechanism offered by the SunPKCS11-Solaris provider and specific to TLSv1.0, can derive incorrect key data causing TLSv1.0 communication failure. That mechanism has been disabled via the $JAVA_HOME/jre/lib/security/sunpkcs11-solaris.cfg configuration file. The JCE provider now manages these cryptographic requests.

 

Bug Fixes

This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.

The following table lists the bug fixes included in the JDK 8u451 release:

# BugId Component Summary
1JDK-8231231client-libs/2dThe printing result is different from the case instruction.
2JDK-8061381client-libs/java.awt[macosx] Accelerators does not spelled for JMenuItems by Voice Over
3JDK-8312518client-libs/java.awt[macos13] setFullScreenWindow() shows black screen on macOS 13 & above
4JDK-8309733client-libs/javax.accessibility[macOS, Accessibility] VoiceOver: Incorrect announcements of JRadioButton
5JDK-8311160client-libs/javax.accessibility[macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem
6JDK-8283214client-libs/javax.accessibility[macos] Screen magnifier does not show the magnified text for JComboBox
7JDK-8283387client-libs/javax.accessibility[macos] a11y : Screen magnifier does not show selected Tab
8JDK-8339728client-libs/javax.accessibility[Accessibility,Windows,JAWS] Bug in the getKeyChar method of the AccessBridge class
9JDK-8332866client-libs/javax.imageioCrash in ImageIO JPEG decoding when MEM_STATS in enabled
10JDK-8237495client-libs/javax.soundJava MIDI fails with a dereferenced memory error when asked to send a raw 0xF7
11JDK-8301989client-libs/javax.swingnew javax.swing.text.DefaultCaret().setBlinkRate(N) results in NPE
12JDK-8031961core-libs/java.lang(process) java/lang/ProcessBuilder/Basic.java uses "cp -p" which is inefficient
13JDK-8190747core-libs/java.util.concurrentExecutorService/Invoke.java fails intermittently
14JDK-8202952hotspot/compilerC2: Unexpected dead nodes after matching
15JDK-8064779hotspot/runtimeAdd additional comments for "8062370: Various minor code improvements"
16JDK-8062370hotspot/runtimeVarious minor code improvements
17JDK-8173743hotspot/runtimeFailures during class definition can lead to memory leaks in metaspace
18JDK-8136577hotspot/runtimeMake AbortVMOnException available in product builds
19JDK-8331959security-libs/javax.crypto:pkcs11Update PKCS#11 Cryptographic Token Interface to v3.1
20JDK-8331958security-libs/javax.smartcardioUpdate PC/SC Lite for Suse Linux to 2.3.0
21JDK-8162363tools/javadoc(tool)Tables in javadoc documentation missing row headers