The following sections summarize changes made in all Java SE 11.0.21 BPR releases. The BPR releases are listed below in date order, most current BPR first. Note that bug fixes in previous BPRs are also included in the current BPR.
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).
BugId | Component | Subcomponent | Summary |
---|---|---|---|
JDK-8312489 | security-libs | java.security | Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar |
JDK-8314880 (not public) | security-libs | org.ietf.jgss | Migrate SEAM KDC from sc11152399 to jpg-seclibs-infra-1-sol |
JDK-8316192 | core-libs | Increased startup time observed when upgrading from 8 to 11 | |
JDK-8054022 | core-libs | java.net | HttpURLConnection timeouts with Expect: 100-Continue and no chunking |
BugId | Component | Subcomponent | Summary |
---|---|---|---|
JDK-8314263 | core-libs | java.util.logging | Signed jars triggering Logger finder recursion and StackOverflowError |
JDK-8315696 | core-libs | java.util.logging | SignedLoggerFinderTest.java test failed |
JDK-8316087 | core-libs | java.util.logging | Test SignedLoggerFinderTest.java is still failing |
JDK-8232933 | tools | javac | Javac inferred type does not conform to equality constraint |
JDK-8309489 (not public) | install | install | 17.0.7/11.0.19 and later fail to run jar file via UNC path when using .exe files under javapath |
October 17, 2023
The full version string for this update release is 11.0.21+9 (where "+" means "build"). The version number is 11.0.21.
For more information, refer to Timezone Data Versions in the JRE Software.
The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 11.0.21 are specified in the following table:
JRE Family Version | JRE Security Baseline (Full Version String) |
---|---|
11 | 11.0.21+9 |
8 | 8u391-b13 |
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 11.0.21) be used after the next critical patch update scheduled for January 16, 2024.
-XshowSettings:locale
Output Now Includes Tzdata Version
(JDK-8305950)
The -XshowSettings
launcher option has been enhanced to print the tzdata version configured with the JDK. The tzdata version is displayed as part of the locale
showSettings option.
Example output using -X:showSettings:locale
:
.....
Locale settings:
default locale = English
default display locale = English
default format locale = English
tzdata version = 2023c
.....
The following root certificate from SECOM Trust System has been removed from the cacerts
keystore:
+ alias name "secomscrootca1 [jdk]"
Distinguished Name: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP
The following root certificate has been added to the cacerts truststore:
+ Certigna (Dhimyotis)
+ certignarootca
DN: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
The installation directory of Oracle JDK Debian packages has changed. It was originally `/usr/lib/jvm/jdk-${FEATURE}`. With this release, it has been changed to `/usr/lib/jvm/jdk-${FEATURE}-oracle-${ARCH}`.
The Oracle JDK Debian package registers jexec
as an interpreter for launching .jar
files from the command line.
The Oracle JDK Debian package configures storage for Java Preferences API in the /etc/.java/.systemPrefs
directory.
The Oracle JDK Debian package registers JDK commands with the update-alternatives
command and supplies the /usr/lib/jvm/.jdk-${FEATURE}-oracle-${ARCH}.jinfo
file for the update-java-alternatives
command.
java.security.manager
System Property
(JDK-8301118)
In JDK 12, two new token options for the java.security.manager
system property, "allow" and "disallow", were introduced.
Many applications and frameworks are designed to run on multiple JDKs. For those that enable the SecurityManager at runtime via System.setSecurityManager
, they have to specify the "allow" option as of JDK 18 (see JDK-8203316). However, these applications would also prefer to use the same command line across multiple versions of the JDK, especially if it is not known what JDK version a user will use.
Currently, if these options are specified in JDK 12 or earlier, the runtime attempts to load a SecurityManager implementation with the classname "allow" or "disallow", which results in a Could not create SecurityManager
Error and the application will not start up.
From this release onward, the "allow" and "disallow" options for the java.security.manager
system property will be ignored.
The JDK implementation of TLS 1.2 now uses a default Diffie Hellman keysize of 2048 bits when a TLS_DHE cipher suite is negotiated and either the client or server does not support FFDHE, which can negotiate a stronger keysize. The JDK TLS implementation supports FFDHE and it is enabled by default.
As a workaround, users can revert to the previous size by setting the jdk.tls.ephemeralDHKeySize
system property to 1024 (at their own risk).
This change does not affect TLS 1.3 as the minimum DH group size is already 2048 bits.
For TLS connections, the cipher suite selection, by default, is updated to use the server cipher suites preference. Applications can configure the behavior by using the SSLParameters.setUseCipherSuitesOrder()
method.
This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update.
➜ Issues fixed in 11.0.21:
# | JBS | Component | Summary |
---|---|---|---|
1 | JDK-8298887 | client-libs | On the latest macOS+XCode the Robot API may report wrong colors |
2 | JDK-8306881 | client-libs/2d | Update FreeType to 2.13.0 |
3 | JDK-8307301 | client-libs/2d | Update HarfBuzz to 7.2.0 |
4 | JDK-8312555 | client-libs/2d | Ideographic characters aren't stretched by AffineTransform.scale(2, 1) |
5 | JDK-8304054 | client-libs/java.awt | Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed |
6 | JDK-8311689 | client-libs/java.awt | Wrong visible amount in Adjustable of ScrollPane |
7 | JDK-8310054 | client-libs/java.awt | ScrollPane insets are incorrect |
8 | JDK-8297923 | client-libs/java.awt | java.awt.ScrollPane broken after multiple scroll up/down |
9 | JDK-8305815 | client-libs/java.awt | Update Libpng to 1.6.39 |
10 | JDK-6176679 | client-libs/java.awt | Application freezes when copying an animated gif image to the system clipboard |
11 | JDK-8286481 | client-libs/java.awt | Exception printed to stdout on Windows when storing transparent image in clipboard |
12 | JDK-8305517 | core-libs/java.net | Memory leak in Java Solaris native code when calling NetworkInterface.getHardwareAddress() |
13 | JDK-8248695 | core-libs/java.time | HostLocaleProviderAdapterImpl provides invalid date-only |
14 | JDK-8254350 | core-libs/java.util.concurrent | CompletableFuture.get may swallow InterruptedException |
15 | JDK-8300098 | core-libs/java.util.concurrent | java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3 |
16 | JDK-8313765 | core-libs/java.util.jar | Invalid CEN header (invalid zip64 extra data field size) |
17 | JDK-8234808 | core-svc/debugger | jdb quoted option parsing broken |
18 | JDK-8292778 | core-svc/java.lang.instrument | EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free |
19 | JDK-8300659 | core-svc/java.lang.management | Refactor TestMemoryAwareness to use WhiteBox api for host values |
20 | JDK-8257993 | hotspot/jvmti | vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/TestDescription.java crash intermittently |
21 | JDK-8297887 | hotspot/runtime | Update Siphash |
22 | JDK-8303215 | hotspot/runtime | Make thread stacks not use huge pages |
23 | JDK-8220570 | hotspot/runtime | Additional trace when native thread creation fails |
24 | JDK-8283849 | hotspot/svc | AsyncGetCallTrace may crash JVM on guarantee |
25 | JDK-8301170 | hotspot/svc | perfMemory_windows.cpp add free_security_attr to early returns |
26 | JDK-8252530 | hotspot/test | Fix inconsistencies in hotspot whitebox |
27 | JDK-8213059 | install/install | Java .deb package implementation is incomplete |
28 | JDK-8296452 | security-libs/javax.crypto | Solaris Ucrypto context memory leak on CRYPTO_BUFFER_TOO_SMALL error |
29 | JDK-8275233 | tools/javac | Incorrect line number reported in exception stack trace thrown from a lambda expression |