Azul Statement on the eMudhra Intermediate CA Certificates Compromise

Java Patch

A java patch is an update applied to a Java Development Kit (JDK) or Java Runtime Environment (JRE) that fixes security vulnerabilities, resolves bugs, or improves stability without changing the version’s core feature set. Patches are how a Java vendor — Oracle, Red Hat, Amazon, Microsoft, Azul, or the OpenJDK community itself — keeps an already-released Java version safe to run in production long after its initial launch.

Patching is a maintenance activity, distinct from upgrading. Upgrading moves you to a new Java version (say, from Java 17 to Java 21) to gain new language features. Patching keeps you on the version you already run while closing the security gaps and defects discovered after release.

What Is a Java Patch

Every supported Java version continues to accumulate fixes after its General Availability (GA) date. Those fixes are bundled into periodic patch releases, identified by an incrementing update number — for example, Java 8u441 or Java 11.0.24. A Java patch typically contains:

  • Security fixes for CVEs disclosed against the JDK since the last release
  • Bug fixes for defects found in production use
  • Minor stability and performance corrections
  • Occasionally, backported library or cryptography updates needed to keep the runtime compatible with current standards (TLS versions, certificate formats, etc.)

Patches do not add new language features or JEPs — that’s reserved for the next major version.

Types of Java Patches

Patch TypeCadencePurpose
Critical Patch Update (CPU)Quarterly (Jan, Apr, Jul, Oct)Oracle’s scheduled security patch release; most vendors align their own releases to this calendar
Patch Set Update (PSU)Quarterly, released alongside the CPUBundles CPU fixes with additional bug fixes; not always security-only
Out-of-cycle / zero-day patchAs needed, outside the normal calendarEmergency fix for an actively exploited or high-severity vulnerability that can’t wait for the next scheduled release

How to Patch Java

The mechanics are similar across vendors, though the exact commands and packaging differ:

  • Identify your current Java version and vendor: run java -version from the command line.
  • Check whether your version is still under active support — an End-of-Life (EOL) version from Oracle typically stops receiving free patches, even though third-party vendors like Azul may continue patching it.
  • Download the latest patch build for your exact major version from your vendor (Oracle, or an OpenJDK distribution such as Azul Zulu, Eclipse Temurin, Amazon Corretto, or Red Hat build of OpenJDK).
  • Test the patched build against your application in a staging environment — patches are low-risk but not zero-risk, especially PSUs that bundle non-security fixes.
  • Roll the patched runtime out to production, ideally through the same CI/CD pipeline used for application deployments so the change is tracked and reversible.

Java Patch Downloads

Where you get a Java patch depends on which vendor’s build you run and whether your version is still receiving free public updates:

  • Oracle JDK: Critical Patch Updates are published quarterly on Oracle’s security alerts page. Versions past their free public update window require an Oracle Java SE subscription.
  • Free OpenJDK builds (jdk.java.net): Only the current feature release receives updates (roughly six months, until the next release); older versions are not patched here at all.
  • Vendor-supported OpenJDK distributions: Azul Zulu, Red Hat, Amazon Corretto, and Microsoft Build of OpenJDK each publish their own patched builds, often continuing to support versions well past Oracle’s free update cutoff. Azul Zulu builds are free and TCK-certified (verified against Oracle’s Technology Compatibility Kit for full Java SE compatibility); Azul Core adds SLA-backed support and compliance-oriented builds (FIPS 140-3, for example).

How to Prioritize Critical Patches Over Feature Updates

Teams juggling a product roadmap alongside patch obligations often default to deferring patches in favor of feature work — a mistake once a patch addresses an actively exploited CVE. A practical prioritization approach:

  • Triage by CVSS (Common Vulnerability Scoring System) score and exploitability first, not by how disruptive the patch looks. A low-effort patch for a critical, actively-exploited CVE always outranks a feature release.
  • Separate the decision from the release train: patch application should not need to wait for the next planned feature deployment window. Most teams run patches through a lighter, faster-moving change process than feature releases.
  • Automate what you can — scheduled dependency and JDK version checks (via your CI pipeline, a patch management tool, or a vulnerability-detection service) remove the guesswork of “is this urgent” from an engineer’s plate.
  • Track exposure, not just availability: a patch sitting unapplied against code you don’t actually run in production carries less urgency than one applied to code you don’t realize is still live. This is where runtime visibility — not just patch calendars — starts to matter.
Monsters in Java Estate Background

Agentic AI changed the Java security landscape

Your unsupported patch cycle is now a liability

How Azul Supports Java Patching

Azul Core delivers increased patch velocity with security-only, stability-first updates on a quarterly and monthly cadence, plus out-of-cycle fixes for zero-day threats — so patching Java doesn’t depend on whether Oracle still considers your version current. Azul backports security fixes to versions well past their Oracle end-of-life date, including Java 8 and Java 11.

For organizations that need patched builds without a support contract, Azul Zulu builds are free, TCK-certified, and updated on the same quarterly Critical Patch Update schedule Oracle publishes — a drop-in source of Java patch downloads for any JDK version Azul supports. Azul Core adds FIPS 140-3 validated builds, migration tooling for moving off unsupported versions, and certified builds across Intel x64, ARM64, and POWER architectures.

Knowing a patch exists is only half the problem — knowing whether the vulnerable code it fixes is actually running in your production estate is the other half. Azul Intelligence Cloud’s Vulnerability Detection continuously scans what’s genuinely executing in production, cutting false positives compared to traditional AppSec tooling, so patch prioritization decisions are based on real exposure rather than a theoretical CVE list.