[Looking for Charlie's main web site?]

New updates released for Java 8, 11, 17, 21, and 22 as of Jul 16 2024: resources and thoughts

It's that time again: there are new JVM updates released today (Jul 16, 2024) for the current long-term support (LTS) releases of Oracle Java, 8, 11, 17, and 21, as well as the new short-term release 22.

TLDR: The new updates are 1.8.0_421 (aka 8u421), 11.0.24, 17.0.12, 21.0.4, and 22.0.2 respectively). Crazy that there are now 5 current Java releases, I realize. More below, including more on each of them including what changed and the security fixes they each contain (including their CVE scores regarding urgency of concerns), which are offered in Oracle resources I list below.

Oracle calls these updates "critical patch updates" (yep, "CPU"), but they are in fact scheduled quarterly updates, so that the "critical" aspect of this nomenclature may sometimes be a bit overstated. As is generally the case with these Java updates, most of them have the same changes and fixes across the four JVM versions, though not always.

For some folks, that's all they need to hear. For others, read on.

Whether this your first time updating Java or your fiftieth, there are some things that you may or may not know

Finding more info on these most recent Java updates

As for what changed in the updates, see the technotes for each of 1.8.0_421, 11.0.24, 17.0.12, 21.0.4, and 22.0.2.

These notes have sections on each of "New Features", "Known Issues", "Issues Fixed", "Other notes", and "Bug Fixes"--each as may apply to that specific update, which is why I am not listing all these changes here. See the technote for the update you are considering applying. That said, some changes may indeed be (and typically are) found in all four versions.

A helpful improvement in this update adds "security" section to -XshowSettings

I do want to call out one particular improvement that may help the more admin/technical audience using Java. Some readers may know that the Java command has long had an available -XshowSettings arg, added in about 2010 (Java 7/8 era) to allow display of various tech info about the JVM at the command line.

In these July 2024 updates, a new category to optionally show Security-related info has been added to the command, ":security", as in:

java -XshowSettings:security -version

In this example, notice I am providing also the "-version" arg; the -XshowSettings does not work if specified on its own. (Note also that XshowSettings is case-sensitive.) Finally, note also that whereas with the other categories of this xshowSettings (like ":vm" or ":properties"), you can OPTIONALLY specify them otherwise their output shows within the default output of the "all" category, to see this new security info you MUST that ":security" category to see its output.

Each of the technotes above discusses the change in more detail, including how there are even some sub-categories for this new ":security" section. I just thought some of my readers may want to hear about it, if they may might somehow miss that in the technotes.(And I may create a blog post on this XshowSettings feature and then I'd cover the changes for this update in there instead, and then I'd point this post at that instead of all the text in this section.)

Finding more on security matters addressed in these Java updates

As for security fixes included in this update, that's covered elsewhere. See the single document listing Java security fixes in these most recent updates and the Text Form of Risk Matrix for Oracle Java SE, for this most recent update. (Curiously, as I post this, all my links above work except this last one. They all always follow the same pattern from release to release, so I suspect this is just because there's some delay in Oracle getting that large "risk matrix" (covering all products) finalized today. Same with the previous link, which has this as its current title, "Oracle Critical Patch Update Pre-Release Announcement - July 2024". By the time you read this, both pages may have been updated. I'm opting to proceed with this post since all the other links and info are working/accurate.)

Pay close attention to "notes" offered there for each vulnerability, as that may temper the severity. (Note as well that while both these documents cover ALL Oracle products, I have offered in the previous paragraph links to the Java-specific sections of the pages. Focus on references to "Java SE" rather than any specific to GraalVM, which is not the focus of the discussion in this post.)

Watch also that many times the listed issues indicate that a vulnerability may be "difficult to exploit" and that many "[do] not apply to Java deployments, typically in servers, that load and run only trusted code (e.g., code installed by an administrator)", which may reduce the concern for you about them depending on your perspective.

That said, these documents could also change between now and when you see this post, so it's your responsibility to assess that information carefully. And regardless of whether such vulnerabilities may seem to apply to you, generally folks should seek to keep their JVM updated, or at least avoid falling too far behind.

Obtaining the JVM update, from Oracle

As for obtaining downloads of Java updates, you can find all the current versions on this one page.

But do note that while the top of the page offers the LATEST Java versions (Java 17 and above), you will find Java 11 and 8 offered later down the page.

And while you DO need to sign in there to obtain the Java 11 and 8 download files, an account is free. (The updates for Java 17 and above do NOT require a login on the Oracle site.) All this has to do with licensing of Java--but users of Adobe ColdFusion (my primary audience) should note that Adobe licenses Oracle Java for our use of it with CF. More in another blog post that I discuss below.

Obtaining the JVM update, from Adobe

And since the focus of my blog and work is indeed mostly focused on those using Adobe ColdFusion (coldfusion.com), I will clarify for them that Adobe also offers the Java downloads as well, so that CF users need not log into the Oracle site as discussed above. Sometimes Adobe gets these downloads posted as soon as Oracle releases them, but often it may take some days.

See the CF Downloads page, and its last section offering Java installers, which includes the installers or zip/archive options, for each of Windows, Linux, and MacOS.

That said, as of my posting this today, the Adobe downloads page for CF-related installers does not yet have the downloads for this latest update.

And while some assert that CF folks "must use those from the CF downloads page", every time I've done a binary compare of the files, they have been identical (at least for the identical build number, which may change slightly over time on the Oracle site though not the Adobe site). As this installer includes the Java license, I can't see how anyone could assert that it matters WHERE you get an identical installer.

Other topics you may be interested to know, and where I discuss them

Some readers may find the above so far to have been "a lot to consider" already, but there is indeed far more that you could and should consider before applying a Java update. And for a few years, I would cover such additional topics within this sort of blog post, each time I announced the new JVM update. But I've decided recently to split that off into its own blog entry, and I will point to that instead in each of these such JVM update announcement posts, in order to keep this relatively "brief".

In that other post, I address such issues as :

  • Obtaining and learning still more about available JVM updates
  • What about other JVM distributions besides Oracle?
  • News for my CF audience (which CF versions support what JVM versions, how to apply the update, why you should NOT for now use Java 21 with CF, etc)
  • Should you apply the update? how soon?

Then I cover a few things that you should be aware of if skipping over previous JVM updates:

  • Beware a change in the July 2023 JVM update, regarding Zip64ExtraFieldValidation
  • Beware a change in the January 2023 JVM update, regarding a change in how the JDK installer works
  • Beware a change in the October 2022 JVM update, regarding Java no longer trusting jars signed with SHA-1
  • Beware a change in the April 2021 JVM update, regarding calls out to anything running TLS 1.1 or earlier

That post is here: Several things to consider when applying JVM updates.

Wrapping up, getting more help

Finally, feel free to ask questions or raise comments below, or for direct help note that I offer remote screenshare consulting help, where I am usually able to quickly fix problems (that might take many folks hours to resolve--if they don't deal with these issues daily like I do in helping people).

For more content like this from Charlie Arehart: Need more help with problems?
  • If you may prefer direct help, rather than digging around here/elsewhere or via comments, he can help via his online consulting services
  • See that page for more on how he can help a) over the web, safely and securely, b) usually very quickly, c) teaching you along the way, and d) with satisfaction guaranteed
Comments
Copyright ©2024 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting