The following sections summarize changes made in all Java SE 8u341 BPRs. 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.
|JDK-8291973||install||install||JavaSE 8 RPMs Are Built with Older RPM and Thus Do Not Contain Some Necessary Hash|
|JDK-8072439||hotspot||runtime||Further refinement of the fix JDK-8047720 - Xprof hangs on Solaris|
|JDK-8087557||javafx||accessibility||Alert Dialog Content Is Not Fully Read by Screen Reader|
|JDK-8291087||javafx||accessibility||Wrong Position of Focus of Screen Reader on Windows with Screen Scale > 1|
|JDK-8197387||javafx||accessibility||Exceptions with TextArea & TextField when Deleted Last Char|
Fixes from the prior BPR are included in this version.
July 19, 2022
The full version string for this update release is 8u341-b10 (where "b" means "build"). The version number is 8u341.
The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 8u341 are specified in the following table:
|JRE Family Version||JRE Security Baseline (Full Version String)|
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 8u341) be used after the next critical patch update scheduled for October 18, 2022.
For systems unable to reach the Oracle Servers, a secondary mechanism expires this JRE (version 8u341) on 2022-11-18. 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.
The TLSv1.3 implementation is available in JDK 8u from 8u261 and enabled by default for server roles but disabled by default for client roles. From this release onwards, TLSv1.3 is now also enabled by default for client roles. You can find more details in the Additional Information section of the Oracle JRE and JDK Cryptographic Roadmap.
Note that TLS 1.3 is not directly compatible with previous versions. Enabling it on the client may introduce compatibility issues on either the server or the client side. Here are some more details on potential compatibility issues that you should be aware of:
signature_algorithms_certextension requires that pre-defined signature algorithms are used for certificate authentication. In practice, however, an application may use non-supported signature algorithms.
TLS_AES_128_GCM_SHA256(1.3 and later) versus
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(1.2 and earlier).
Support has been added for TLS channel binding tokens for Negotiate/Kerberos authentication over HTTPS through javax.net.HttpsURLConnection.
Channel binding tokens are increasingly required as an enhanced form of security. They work by communicating from a client to a server the client's understanding of the binding between connection security (as represented by a TLS server cert) and higher level authentication credentials (such as a username and password). The server can then detect if the client has been fooled by a MITM and shutdown the session/connection.
The feature is controlled through a new system property `jdk.https.negotiate.cbt` which is described fully as below:
jdk.https.negotiate.cbt (default: "never")
This controls the generation and sending of TLS channel binding tokens (CBT) when Kerberos or the Negotiate authentication scheme using Kerberos are employed over HTTPS with HttpsURLConnection. There are three possible settings:
The channel binding tokens generated are of the type "tls-server-end-point" as defined in RFC 5929.
java.net.InetAddress class has been updated to strictly accept IPv4 address literals in decimal quad notation. The
InetAddress class methods are updated to throw an
java.net.UnknownHostException for invalid IPv4 address literals. To disable this check, the new "jdk.net.allowAmbiguousIPAddressLiterals" system property can be set to "true".
On oracle.com and java.com, certain JDK bundle extensions are getting truncated on download when using Firefox version 102. The downloaded bundles have no file extension like ".exe", ".rpm", ".deb". If you are not able to upgrade to Firefox ESR 102.0.1 or Firefox 103 when it is released, then as a workaround you can:
java.util.Vector is updated to correctly report
ClassNotFoundException that occurs during deserialization using
java.io.ObjectInputStream.GetField.get(name, object) when the class of an element of the Vector is not found. Without this fix, a
StreamCorruptedException is thrown that does not provide information about the missing class.
GZIPOutputStream.finish() methods have been modified to close out the associated default JDK compressor before propagating a Throwable up the stack.
ZIPOutputStream.closeEntry() method has been modified to close out the associated default JDK compressor before propagating an IOException, not of type ZipException, up the stack.
For JVMs running in a container,
OperatingSystemMXBean.getProcessCpuLoad now considers only the CPU resources available to the container when calculating CPU load. Prior to this change, the calculation included all CPUs on a host. After this change, management agents may report higher CPU usage by JVMs in containers that are constrained to a limited set of CPUs.
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 8u341 release:
|1||JDK-8259869||client-libs||[macOS] Remove desktop module dependencies on JNF Reference APIs|
|2||JDK-8274751||client-libs||java.awt||Drag And Drop hangs on Windows|
|3||JDK-8272806||client-libs||java.awt||[macOS] "Apple AWT Internal Exception" when input method is changed|
|4||JDK-8133713||client-libs||javax.accessibility||[macosx] Accessible JTables always reported as empty|
|5||JDK-8277922||client-libs||javax.accessibility||Unable to click JCheckBox in JTable through Java Access Bridge|
|6||JDK-7124301||client-libs||javax.accessibility||[macosx] When in a tab group if you arrow between tabs there are no VoiceOver announcements.|
|7||JDK-7124298||client-libs||javax.accessibility||[macosx] Nothing heard from VoiceOver when tabbing between a nested tab group and a parent tab group|
|8||JDK-7124293||client-libs||javax.accessibility||[macosx] VoiceOver reads percentages rather than the actual values for sliders.|
|9||JDK-8277093||core-libs||java.io:serialization||Vector should throw ClassNotFoundException for a missing class of an element|
|10||JDK-8279842||core-libs||java.net||HTTPS Channel Binding support for Java GSS/Kerberos|
|11||JDK-8282293||core-libs||java.net||Domain value for system property jdk.https.negotiate.cbt should be case-insensitive|
|12||JDK-8288033||core-libs||java.nio||(dc) DatagramChannel.disconnect uses disconnectx which is not supported on macOS 10.8.3|
|13||JDK-8285515||core-libs||java.nio||(dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4|
|14||JDK-8258795||core-libs||java.util:i18n||Update IANA Language Subtag Registry to Version 2021-05-11|
|15||JDK-8247469||core-svc||javax.management||getSystemCpuLoad() returns -1 on linux when some offline cpus are present and cpusets.effective_cpus is not available|
|16||JDK-8273747||deploy||webstart||Grant JWS JavaFX apps access to Windows trust store|
|17||JDK-8283886||docs||guides||Fix broken links in the security guide of JDK 8u docs|
|18||JDK-6584403||docs||guides||Request to add a CA/CSR certificate cookbook to JSSE Reference Guide|
|19||JDK-8173625||install||install||JRE 8u121 fails to install with blank dialog box (username with character #)|
|20||JDK-8090477||javafx||controls||Customizable visibility timing for Tooltip|
|21||JDK-8205915||javafx||controls||[macOS] Accelerator assigned to button in dialog fires menuItem in owning stage|
|22||JDK-8222211||javafx||graphics||Creating animated gif image from non FX App thread causes exception|
|23||JDK-8280840||javafx||media||Update libFFI to 3.4.2|
|24||JDK-8283403||javafx||media||Update Glib to 2.72.0|
|25||JDK-8283218||javafx||media||Update GStreamer to 1.20.1|
|26||JDK-8282054||javafx||media||Mediaplayer not working with HTTP Live Stream link with query parameter appended with file extension m3u8|
|27||JDK-8286256||javafx||web||Update libxml2 to 2.9.14|
|28||JDK-8283328||javafx||web||Update libxml2 to 2.9.13|
|29||JDK-8286257||javafx||web||Update libxslt to 1.1.35|
|30||JDK-8282134||javafx||web||Certain regex can cause a JS trap in WebView|
|31||JDK-8281459||javafx||web||WebKit 613.1 build broken on M1|
|32||JDK-8280841||javafx||web||Update SQLite to 3.37.2|
|33||JDK-8284184||javafx||web||Crash in GraphicsContextJava::drawLinesForText on https://us.yahoo.com/|
|34||JDK-8278759||javafx||web||PointerEvent: buttons property set to 0 when mouse down|
|35||JDK-8277734||javafx||web||WebView: Update Public Suffix List to 3c213aa|
|36||JDK-8278851||security-libs||java.security||Correct signer logic for jars signed with multiple digest algorithms|
|37||JDK-8245263||security-libs||javax.net.ssl||Enable TLSv1.3 by default on JDK 8u for Client roles|
|38||JDK-8274524||security-libs||javax.net.ssl||SSLSocket.close() hangs if it is called during the ssl handshake|
|39||JDK-8275082||security-libs||javax.xml.crypto||Update XML Security for Java to 2.3.0|
|40||JDK-8279520||security-libs||org.ietf.jgss||SPNEGO has not passed channel binding info into the underlying mechanism|
|41||JDK-8157391||tools||jdeps left JarFile open|
|42||JDK-8284132||tools||FXLauncherTest.java fails on headless macos|