Proportional patching: rigor where it matters, speed everywhere else
Criticality is scored, not self-declared
- 1
Automated intake
JVM version and vendor, exposure, dependency graph, embedded agents, SLA metadata and incident history come straight from discovery data.
- 2
Structured owner interview
A fixed, short question set captures what scanning can't: true business criticality, compensating controls and downstream dependents.
- 3
Weighted scoring
Inputs feed a documented, weighted model that produces a numeric score. The result doesn't depend on which consultant ran the interview.
- 4
Threshold routing
Fixed score bands route each app to Rapid Patch, Critical Patch Assurance, or manual review. The thresholds are set before any app is scored.
- 5
Sign-off and evidence
The tier, its inputs and the named risk-acceptor are recorded as a timestamped artifact your CAB signs.
- 6
Re-scoring
Criticality changes. Scores re-run quarterly and on triggers: a new regulated data flow, a traffic spike, an incident, a new CVE.
A "JVM patch" is three different things
| Change | Example | Risk | How we handle it |
|---|---|---|---|
| Same-major security patch | 17.0.15 → 17.0.16 | Low: mostly CVE and bug fixes | Rapid Patch for non-critical apps |
| Major version upgrade | 11 → 17 → 21 → 25 | High: removed APIs, strong encapsulation, GC and security defaults | Readiness assessment, then a planned upgrade |
| Vendor swap, same version | Oracle JDK → Temurin, Corretto, Zulu | Usually low, but not zero: builds, defaults and bundled tooling differ | OpenJDK migration with targeted verification |
If detection is fast and rollback is cheap, exhaustive testing isn't needed
- Progressive rolloutCanary at 1%, then 10%, then 100%, each step gated on automated health checks.
- Observability as the safety netCompare error rates, latency, GC pause times and thread behavior before and after the patch.
- Fast, rehearsed rollbackThis is often the real gap, especially outside containers. When it is, we fix it first.
- Smoke tests and synthetic transactionsTargeted checks of the paths that matter, in place of a full regression suite.
We check for the ways JVM changes actually break
What your CAB actually approves
- Classification rationale and every input behind it
- The named person who accepted the risk, and their authority to do so
- Rollout plan, health gates and rollback procedure
- Evidence from each rollout: signals checked, results, timestamps
- Re-review schedule and the triggers that force one