java

JDK 8u481 Release Notes

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

The following sections summarize changes made in all Java SE 8u481 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 8u481 b50

Bug Fixes

Release date: January 20, 2026
BugId Category Subcategory Summary
JDK-8370632 javafx web Additional libxslt 1.1.43 fixes
JDK-8370235 javafx web WebKit build fails on Windows 32-bit and Linux 32-bit after JDK-8367578
JDK-8368704 (not public) javafx web Better glyph handling
JDK-8368691 javafx web Update libxml2 to 2.14.6
JDK-8367578 javafx web Additional WebKit 622.1 fixes from WebKitGTK 2.48.7
JDK-8366744 javafx web Update SQLite to 3.50.4
JDK-8366217 javafx media Update GStreamer to 1.26.5
JDK-8363813 javafx window-toolkit Missing null check in GlassScreen
JDK-8362535 (not public javafx web Update libxslt support
JDK-8361719 (not public) javafx application-lifecycle Enhance Handling of URIs
JDK-8361648 javafx media Update Glib to 2.84.3
JDK-8361644 javafx web Update ICU4C to 77.1

Java™ SE Development Kit 8, Update 481 (JDK 8u481)

Release date: January 20, 2026

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

 

IANA TZ Data 2025b

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 8u481 are specified in the following table:

Java Family Version Security Baseline (Full Version String)
81.8.0_481-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 8u481) be used after the next critical patch update scheduled for April 21, 2026.

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 8u481) on 2026-05-21. 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

core-libs/java.rmi
 Endpoint Identification Enabled By Default for RMI Connections Over TLS (JDK-8341496 (not public))

RMI will use TLS connections if the [javax.rmi.ssl.SslRMIClientSocketFactory] class is used. These connections now have TLS endpoint identification enabled by default. This may cause some previously-working TLS connections to fail. If this occurs, ensure that the certificate presented by the server has a Subject Alternative Name that matches the server's hostname. Alternatively, endpoint identification for RMI TLS connections can be disabled on the client side by setting the jdk.rmi.ssl.client.enableEndpointIdentification system property to false.

 

Other Notes

security-libs/javax.net.ssl
 Disabled SHA-1 in TLS 1.2 and DTLS 1.2 Handshake Signatures (JDK-8340321)

The SHA-1 algorithm has been disabled by default in TLS 1.2 and DTLS 1.2 handshake signatures, by adding "rsa_pkcs1_sha1 usage HandshakeSignature, ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature" to the jdk.tls.disabledAlgorithms security property in the java.security config file. RFC 9155 deprecates the use of SHA-1 in TLS 1.2 and DTLS 1.2 digital signatures. Users can, at their own risk, re-enable the SHA-1 algorithm in TLS 1.2 and DTLS 1.2 handshake signatures by removing "rsa_pkcs1_sha1 usage HandshakeSignature, ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature" from the jdk.tls.disabledAlgorithms security property.

install/install
 Windows Installers to Return to Full Version Directory and Use of Junction (JDK-8310932 (not public))

For the JDK11+ LTS families, the JDK will install into a version-specific installation directory by default. The installation directory of 11+ will have a - before the version-specific string to keep consistency with the past 11+ conventions per family. A junction, also known as a symlink for Windows, will also be created in a "latest" directory. It will point to the latest version of that family. Here is a breakdown example of installation and junction locations 11+ families:

Version Installation Directory Junction Location
jdk25.0.2 C:\Program Files\Java\jdk-25.0.2 C:\Program Files\Java\latest\jdk-25
jdk17.0.18 C:\Program Files\Java\jdk-17.0.18 C:\Program Files\Java\latest\jdk-17
jdk11.0.30 C:\Program Files\Java\jdk-11.0.30 C:\Program Files\Java\latest\jdk-11

Each junction will always point to the latest JDK of the matching LTS family. The junction for each family will be removed when the last JDK of the matching LTS family is uninstalled.

install/install
 Make jcmd Command Available in the Headless JDK RPM (JDK-8359443 (not public))

jcmd command will be available in the headless JDK RPM instead of the headful JDK RPM.

It will be added to the java alternatives group instead of the javac alternatives group.

security-libs/javax.net.ssl
 Disabled TLS_RSA Cipher Suites (JDK-8245545)

The TLS_RSA cipher suites have been disabled by default, by adding "TLS_RSA_" to the jdk.tls.disabledAlgorithms security property in the java.security configuration file. The TLS_RSA cipher suites do not preserve forward-secrecy and are not commonly used. Some TLS_RSA cipher suites are already disabled because they use DES, 3DES, RC4, or NULL, which are disabled. This action disables all remaining TLS_RSA cipher suites. Any attempts to use cipher suites starting with "TLS_RSA_" will fail with an SSLHandshakeException. Users can, at their own risk, re-enable these cipher suites by removing "TLS_RSA_" from the jdk.tls.disabledAlgorithms security property. The following previously enabled cipher suites are now disabled:

TLS_RSA_WITH_AES_256_GCM_SHA384

TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA

core-libs/java.util:i18n
 Changes to the Default Time Zone Detection on Debian-based Linux (JDK-8345213)

On Debian-based Linux distributions such as Ubuntu, the /etc/timezone file was previously used to determine the JDK's default time zone (TimeZone.getDefault()). According to Debian's Wiki, /etc/localtime is now the primary source for the system's default time zone, making /etc/timezone redundant. As a result, the JDK's default time zone detection logic has been updated to use /etc/localtime instead of /etc/timezone. If /etc/localtime and /etc/timezone are inconsistent for any reason, the JDK's default time zone is now determined solely based on /etc/localtime file.

core-svc/tools
 jcmd -l and jps Commands Do Not List Java Processes Running in Docker Containers (JDK-8193710)

The HotSpot runtime code has been updated to allow the jcmd -l and jps commands discover JVMs running in a container.

security-libs/java.security
 Filter Rules for URIs in the Authority Info Access Extension for Certificates (JDK-8368032 (not public))

A new system and security property, com.sun.security.allowedAIALocations, has been introduced. This property allows users the ability to define one or more filtering rules to be applied to URIs obtained from the authority info access extension on X.509 certificates. These filter rules are applied specifically to the CA issuers access method. Any CA issuers URIs in X.509 certificates are only followed when the com.sun.security.enableAIAcaIssuers system property is enabled and the filter allows the URI.

In order to set the rules, the user must set either the com.sun.security.allowedAIALocations security property or the system property by the same name. If the system property has a value, it will override the security property. By default the property is blank, which enacts a deny-all ruleset.

For either property, the value consists of a set of space-separated rules that take the form of a URI, with the following constraints:

  • The URI must be absolute and hierarchical.
  • The URI must only use one of the following schemes: http, https, ldap, or ftp (case-insensitive).
  • A hostname or address must be specified and must match (case-insensitive). No name resolution is performed on hostnames to match URIs with IP addresses.
  • The port number must match. Where a port number is omitted, the well-known port will be used in the comparison.
  • For hierarchical schemes (http[s], ftp):
    • A rule's normalized path portion of the URI is matched in a case-sensitive manner. If the final component does not end in a slash (/), it is considered to be a file path and must match the CA issuer URI path component. If the rule's path component ends in a slash, then it must match or be a prefix of the CA issuer URI path component. (for example, a filter path of /ab/cd/ will match a CA issuer path of /ab/cd/, /ab/cd/ef and /ab/cd/ef/ghi.).
    • Query strings and fragments will be ignored when matching CA issuer URIs.
  • For ldap URIs:
    • The base DN must be an exact match (case-insensitive).
    • Any query string in the rule, if specified, will be ignored.

For the properties, a single value of "any" (case-insensitive) will create an allow-all rule.

 

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 8u481 release:

# BugId Component Summary
1JDK-8292214client-libs/2dMemory leak in getAllConfigs of awt_GraphicsEnv.c:386
2JDK-8361748client-libs/2dEnforce limits on the size of an XBM image
3JDK-8280468client-libs/java.awtCrashes in getConfigColormap, getConfigVisualId, XVisualIDFromVisual on Linux
4JDK-8167486client-libs/java.awtDevice.getDisplayMode() doesn't report refresh rate on Linux in case of dual screen
5JDK-8022810client-libs/java.awtCannot list all the available display modes on Ubuntu linux in case of two screen devices
6JDK-8286159client-libs/java.awtMemory leak in getAllConfigs of awt_GraphicsEnv.c:585
7JDK-8354646client-libs/java.awtjava.awt.TextField allows to identify the spaces in a password when double clicked at the starting and end of the text
8JDK-8238436client-libs/java.awtjava/awt/Frame/FrameLocationTest/FrameLocationTest.java fails
9JDK-8216329client-libs/javax.swingCannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition
10JDK-8139228client-libs/javax.swingJFileChooser renders file names as HTML document
11JDK-8358532client-libs/javax.swingJFileChooser in GTK L&F still displays HTML filename
12JDK-8358813client-libs/javax.swingJPasswordField identifies spaces in password via delete shortcuts
13JDK-8370465client-libs/javax.swingRight to Left Orientation Issues with MenuItem Component
14JDK-8055747core-libs/java.netMove SimpleSSLContext to jdk/testlibrary
15JDK-8056065core-libs/java.netsun/net/www/protocol/http/RedirectOnPost.java failing.
16JDK-8271010hotspot/compilervmTestbase/gc/lock/malloc/malloclock04/TestDescription.java crashes intermittently
17JDK-8160997hotspot/runtimeSolaris: deprecated <pwd.h> and <gid.h> interfaces should be replaced
18JDK-8174734hotspot/runtimeSafepoint sync time did not increase
19JDK-8364660hotspot/runtimeClassVerifier::ends_in_athrow() should be removed
20JDK-8081541tools/javac@ignore CheckEBCDICLocaleTest
21JDK-8359872tools/launcherNullPointerException in sun.launcher.LauncherHelper.checkJavaFXRemoval