How to get your CAB to approve faster JVM patching
Patchmageddon Team
JVM patching & OpenJDK migration specialists
Most proposals to speed up JVM patching fail in the same place, and it isn't technical. The engineering team shows that a same-major security update is low risk, that rollout can be progressive, and that rollback is quick. Then the proposal goes to the Change Advisory Board and stalls.
The CAB isn't being obstructive. Its job is to make sure changes are understood, owned and reversible, and "we'd like to test less" doesn't sound like any of those. The way through is to give the CAB a better process to approve, not to argue that the current one is too slow.
Reframe the ask
"Skip regression testing for these apps" is a hard sell to a risk function. It describes removing a control.
"For a defined tier of applications, replace pre-deployment regression testing with fast detection and fast rollback" is a different proposal. It swaps one control for another and can be measured. You can show how quickly a bad patch would be detected, how quickly it would be reversed, and what evidence gets recorded along the way. The engineering case is set out in fast detection and rollback instead of regression testing.
The rest of this article covers what makes that proposal approvable.
Criticality has to be scored, not self-declared
The first thing a CAB will ask is: which applications are in the fast tier, and who decided?
If the answer is "the app owners told us," the proposal won't survive. App owners have every reason to call their app non-critical, since it means fewer approvals and less paperwork, and they're rarely the ones who bear the consequences of being wrong.
Classification needs to be a documented, repeatable scoring process. The dimensions we use include:
- Revenue and customer impact: what breaks, for whom, and the cost per hour of downtime
- Blast radius: shared infrastructure, shared databases or a shared message bus with critical systems
- Regulatory scope: whether the app handles data covered by PCI DSS, HIPAA, SOX or similar. Many "internal tools" do
- SLA and SLO commitments: whether one exists and at what tier
- Risk-acceptor authority: who can accept the risk, and whether they actually have the authority to do so
Some of these can be derived from discovery data (exposure, dependencies, existing SLA metadata). Others need a short, standardized owner interview. Using the same fixed questions for every app is what makes fifty classifications consistent with each other.
Set thresholds before you score anything
Score bands should route each app to a tier: fast-track patching, a higher-assurance process for business-critical apps, or manual review for scores near a boundary.
Define those thresholds before scoring the first application. Thresholds set after you've seen the scores look like rationalization, even when they aren't. Thresholds agreed in advance and written down are what make the routing defensible to an auditor.
Use the standard change model
ITIL already has a concept that fits: the standard change, a low-risk, well-understood change that is pre-authorized and follows a documented procedure. You don't need the CAB to approve each quarterly JVM patch on each app. You need it to approve a standard change model once:
| Element | What the CAB approves |
|---|---|
| Scope | Same-major JVM security updates only (for example 17.0.x to a later 17.0.x), not major upgrades or vendor swaps |
| Eligible apps | Apps scored into the fast-track tier, with evidence on file |
| Procedure | Progressive rollout, automated health gates, defined rollback |
| Conditions | What forces an app back to normal change: failed gate, score change, incident |
| Review | How often the model and the tier list are re-examined |
Major version upgrades and vendor migrations should stay out of the standard change. They carry different risks (see JVM patch failure modes), and including them weakens the case for the low-risk category.
The evidence pack
Each app in the fast tier should have a record the CAB can inspect at any time, generated from the scoring process rather than written by hand:
- Classification rationale: the score, every input behind it, and the threshold it was compared against
- Named risk acceptor: a specific person, their role, and confirmation of their authority, with a timestamp
- Rollout plan: stages, percentages and hold times
- Health gates: the signals checked at each stage and the thresholds that stop the rollout
- Rollback procedure: how to reverse the change, how long it takes, and when it was last rehearsed
- Rollout evidence: for each patch cycle, which gates were checked, the results and the timestamps
The last item is the one that builds trust over time. After a few quarters, the CAB is no longer approving a theory. It's reviewing a track record.
Re-scoring keeps the tier honest
Criticality isn't permanent. An internal tool becomes customer-facing. A new data flow brings regulated data into scope. An acquisition doubles an app's user base.
Re-score on a fixed schedule (quarterly is common) and on triggers such as:
- A significant change in traffic or user base
- A new regulated data classification or data flow
- An incident involving the application
- An M&A event or reorganization that changes ownership
- A new critical CVE affecting the app's dependencies
Without re-scoring, the classification decays and the CAB's confidence goes with it. Continuous monitoring can raise these triggers automatically; see drift monitoring.
Give people a way to disagree
Some app owners will think their tier is wrong in one direction or the other. Provide a defined dispute and escalation path: who reviews it, what evidence they need, and how quickly they respond. Without one, every disagreement turns into an argument outside the process, which is exactly what a CAB doesn't want to see.
Start small
Don't ask for the whole estate at once. Propose a pilot:
- A few dozen clearly low-criticality applications
- One quarterly patch cycle
- A report back to the CAB with the rollout evidence, any rollbacks, and the time saved
A successful pilot is the strongest argument for expanding the tier.
What to do next
Our approach describes the classification and governance model we use, and Rapid Patch is the service built on it. If you don't yet know which applications you'd be classifying, start with JVM discovery.
Patchmageddon Team
The Patchmageddon team helps enterprises find every JVM in their estate, patch it on a sane cadence, and stop paying for Oracle Java they don't need.
Find out what's actually running in your estate
You can't patch what you can't find: building a real JVM inventory
Most enterprises can't say how many JVMs they run or where. Here's what a useful JVM inventory captures, how to collect it, and where it goes wrong.
Fast detection and rollback: a safer alternative to full regression testing
For low-criticality apps, quick detection and cheap rollback cut JVM patch risk more than a full regression run. Here's how to build that safety net.