The following sections summarize changes made in all Java SE 8u401 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.
BugId | Category | Subcategory | Summary |
---|---|---|---|
JDK-8326643 | security-libs | java.security | JDK server does not send a dummy change_cipher_spec record after HelloRetryRequest message |
BugId | Category | Subcategory | Summary |
---|---|---|---|
JDK-8325580 (not public) | install | install | Remove "alternatives --remove" call from Java rpm installer |
BugId | Category | Subcategory | Summary |
---|---|---|---|
JDK-8309374 | javafx | accessibility | Accessibility Focus Rectangle on ListItem is not drawn when ListView is shown for first time |
JDK-8311492 | javafx | graphics | FontSmoothingType LCD produces wrong color when transparency is used |
JDK-8325150 | core-libs | java.time | (tz) Update Timezone Data to 2024a |
BugId | Category | Subcategory | Summary |
---|---|---|---|
JDK-8227277 | hotspot | jvmti | HeapInspection::find_instances_at_safepoint walks dead objects |
JDK-8322725 | core-libs | java.time | (tz) Update Timezone Data to 2023d |
BugId | Category | Subcategory | Summary |
---|---|---|---|
JDK-8284544 | javafx | accessibility | [Win] Name-Property of Spinner cannot be changed |
JDK-8319727 | other-libs | corba:idl | Harden BufferManagerReadStream underflow logic |
January 16, 2024
The full version string for this update release is 8u401-b10 (where "b" means "build"). The version number is 8u401.
For more information, refer to Timezone Data Versions in the JRE Software.
The security baselines for the Java Runtime at the time of the release of JDK 8u401 are specified in the following table:
Java Family Version | Security Baseline (Full Version String) |
---|---|
8 | 8u401-b10 |
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 8u401) be used after the next critical patch update scheduled for April 16, 2024.
Java SE Subscription products customers managing JRE updates/installs for large number of desktops should consider using Java Management Service (JMS).
For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u401) on 2024-05-16. 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.
A new system property named org.jcp.xml.dsig.secureValidation
has been added. It can be used to enable or disable the XML Signature secure validation mode. The system property should be set to "true" to enable, or "false" to disable. Any other value for the system property is treated as "false". If the system property is set, it supersedes the XMLCryptoContext
property value.
Secure validation mode is enabled by default if you are running the code with a SecurityManager, otherwise it is disabled by default.
A new JDK Flight Recorder (JFR) event has been added to monitor deserialization of objects. When JFR is enabled and the JFR configuration includes deserialization events, JFR will emit an event whenever the running program attempts to deserialize an object. The deserialization event is named java/deserialization
, and it is disabled by default. The deserialization event contains information that is used by the serialization filter mechanism. Additionally, if a filter is enabled, the JFR event indicates whether the filter accepted or rejected deserialization of the object.
The new Deserialization Event captures:
Refer to Context-Specific Deserialization Filter and Serialization Filtering Guide for details.
When the C1 compiler is the only compiler available to the VM, it applies loop predication to remove array access range checks from loop bodies. Due to a defect, this optimization was disabled, potentially leading to a performance regression.
This only affects the client VM or VM's running with the non-default command line flags -XX:+NeverActAsServerClassMachine
or -XX:TieredStopAtLevel=[1,2,3]
.
jdk.jar.maxSignatureFileSize
(JDK-8312489)
The system property, jdk.jar.maxSignatureFileSize
, allows applications to control the maximum size of signature files in a signed JAR. Its default value has been increased from 8000000 bytes (8 MB) to 16000000 bytes (16 MB).
The following root certificates have been added to the cacerts truststore:
+ DigiCert, Inc.
+ digicertcseccrootg5
DN: CN=CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US
+ DigiCert, Inc.
+ digicertcsrsarootg5
DN: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US
+ DigiCert, Inc.
+ digicerttlseccrootg5
DN: DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US
+ DigiCert, Inc.
+ digicerttlsrsarootg5
DN: DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US
The following root certificates have been added to the cacerts truststore:
+ eMudhra Technologies Limited
+ emsignrootcag1
DN: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
+ eMudhra Technologies Limited
+ emsigneccrootcag3
DN: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
+ eMudhra Technologies Limited
+ emsignrootcag2
DN: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
The following root certificate has been added to the cacerts truststore:
+ Telia Root CA v2
+ teliarootcav2
DN: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI
The following root certificate has been added to the cacerts truststore:
+ Let's Encrypt
+ letsencryptisrgx2
DN: CN=ISRG Root X2, O=Internet Security Research Group, C=US
X509KeyManager.chooseClientAlias
Once for All Key Types
(JDK-8262186)
The (D)TLS implementation in JDK now calls X509KeyManager.chooseClientAlias()
only once during handshaking for client authentication, even if there are multiple algorithms requested .
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 8u401 release:
# | BugId | Component | Summary |
---|---|---|---|
1 | JDK-8286481 | client-libs/java.awt | Exception printed to stdout on Windows when storing transparent image in clipboard |
2 | JDK-6176679 | client-libs/java.awt | Application freezes when copying an animated gif image to the system clipboard |
3 | JDK-8153090 | client-libs/javax.swing | TAB key cannot change input focus after the radio button in the Color Selection dialog |
4 | JDK-8313657 | core-libs/javax.naming | com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors |
5 | JDK-8314063 | core-libs/javax.naming | The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection |
6 | JDK-8302577 | docs/guides | Update JSSE Guide for JDK-8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit |
7 | JDK-8283441 | hotspot/compiler | C2: segmentation fault in ciMethodBlocks::make_block_at(int) |
8 | JDK-8059735 | hotspot/compiler | make_not_entrant_or_zombie sees zombies |
9 | JDK-8075922 | hotspot/compiler | assert(t == t_no_spec) fails in phaseX.cpp |
10 | JDK-8067247 | hotspot/compiler | Crash: assert(method_holder->data() == 0 ...) failed: a) MT-unsafe modification of inline cache |
11 | JDK-8086053 | hotspot/compiler | Address inconsistencies regarding ZeroTLAB |
12 | JDK-8169177 | hotspot/gc | aarch64: SIGSEGV when "-XX:+ZeroTLAB" is specified along with GC options |
13 | JDK-8149343 | hotspot/gc | assert(rp->num_q() == no_of_gc_workers) failed: sanity |
14 | JDK-8316906 | hotspot/gc | Clarify TLABWasteTargetPercent flag |
15 | JDK-8032223 | hotspot/jvmti | nsk/regression/b4663146 gets assert(SafepointSynchronize::is_at_safepoint() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits)) |
16 | JDK-8165496 | hotspot/jvmti | assert(_exception_caught == false) failed: _exception_caught is out of phase |
17 | JDK-8193386 | hotspot/runtime | CompressedClassSize too large with MaxMetaspace |
18 | JDK-8194246 | hotspot/runtime | JVM crashes when calling getStackTrace if stack contains a method that is a member of a very large class |
19 | JDK-8163146 | hotspot/runtime | Remove os::check_heap on Windows |
20 | JDK-8227815 | hotspot/svc | Minimal VM: set_state is not a member of AttachListener |
21 | JDK-8313856 | javafx/graphics | Replace VLA with malloc in pango |
22 | JDK-8317508 | javafx/media | Provide media support for libavcodec version 60 |
23 | JDK-8313900 | javafx/media | Possible NULL pointer access in NativeAudioSpectrum and NativeVideoBuffer |
24 | JDK-8311097 | javafx/web | Synchron XMLHttpRequest not receiving data |
25 | JDK-8315074 | javafx/window-toolkit | Possible null pointer access in native glass |
26 | JDK-8315958 | javafx/window-toolkit | Missing range checks in GlassPasteboard |
27 | JDK-8315657 | javafx/window-toolkit | Application window not activated in macOS 14 Sonoma |
28 | JDK-8319066 | javafx/window-toolkit | Application window not always activated in macOS 14 Sonoma |
29 | JDK-8320597 | security-libs/java.security | RSA signature verification fails on signed data that does not encode params correctly |
30 | JDK-8302017 | security-libs/java.security | Allocate BadPaddingException only if it will be thrown |
31 | JDK-8284910 | security-libs/javax.security | Buffer clean in PasswordCallback |