When Oracle Health detected unauthorized access to legacy Cerner servers on February 20, 2025, the breach had already happened. An attacker with compromised credentials had copied patient data from migration servers, environments that held records waiting to move to Oracle Cloud. Nearly 20 million people, including roughly 3 million Texans, had their Social Security numbers, addresses, and medical information stolen because those staging systems sat outside the monitoring and patching applied to production environments.
This wasn't a zero-day exploit or a sophisticated supply-chain attack. It was a credential compromise targeting servers that many teams forget exist once a migration project starts.
Why These Mistakes Keep Happening
Data migrations create temporary infrastructure that doesn't fit neatly into your asset inventory. Your risk analysis documents production systems. Your monitoring tools watch live environments. Your patching schedule covers servers that show up in regular scans. Migration servers exist in a gap; they're not quite production, not quite decommissioned, and they hold live PHI while your team focuses on cutover timelines and user acceptance testing.
The Oracle Health breach demonstrates what happens when that gap isn't closed. Let's walk through the specific mistakes that turn vendor transitions into breach vectors.
Mistake 1: Treating Migration Environments as Temporary and Low-Risk
Why it happens: Your team thinks of staging servers as scaffolding. They're there to support the move, not to run clinical operations, so they don't get the same security attention as your EHR production cluster.
The consequence: Those servers hold the same PHI as production. An attacker doesn't care whether data sits in a migration environment or a live database; it's equally valuable. In this breach, the staging servers held data that hadn't yet moved to Oracle Cloud, and that was enough.
The fix: Inventory every system that touches PHI during a migration, including staging servers, validation environments, and backup repositories created for the transition. Apply the same access controls, monitoring, and patching cadence you use for production. If a server holds ePHI, it's in scope for the HIPAA Security Rule, full stop.
Mistake 2: Assuming Vendor Credentials Are Managed Like Yours
Why it happens: You've locked down your own privileged access with multi-factor authentication, regular rotation, and least-privilege principles. You assume your business associate does the same.
The consequence: The Oracle Health breach involved compromised customer credentials used to access migration servers. If those credentials weren't rotated, monitored, or protected with MFA, your controls don't matter. The attacker got in through the vendor's door.
The fix: Your business associate agreement should specify credential management requirements, but don't stop there. Ask your vendor which accounts can access environments holding your data, how those credentials are protected, whether MFA is enforced, and how access is logged. During a migration, request a list of all accounts with access to staging systems and confirm that access is reviewed weekly, not quarterly.
Mistake 3: Leaving Data in Migration Environments Longer Than Necessary
Why it happens: Migrations run behind schedule. Validation takes longer than planned. Your team extends the timeline, and data that was supposed to sit in staging for two weeks remains there for two months.
The consequence: Every extra day data sits in a migration environment is another day of exposure. The Oracle Health attacker accessed servers sometime after January 22, 2025, but the breach wasn't detected until February 20, nearly a month later. The longer data remains in staging, the wider the detection window and the higher the risk.
The fix: Define retention limits for every migration environment before the project starts. If staging servers are supposed to hold data for 14 days while validation completes, set an alert at day 10 and a hard cutoff at day 15. Once validation is done, delete the data from staging immediately. Don't let convenience turn temporary storage into a permanent target.
Mistake 4: Failing to Confirm What's in Scope for Your Risk Analysis
Why it happens: Your risk analysis documents the systems you know about, your EHR, your patient portal, your billing platform. Migration servers get spun up by the vendor or your IT team without updating the inventory, so they never make it into your annual review.
The consequence: If a system isn't in your risk analysis, it's not getting the threat assessments, vulnerability scans, or access reviews required by the Security Rule. The Oracle Health staging servers likely weren't in most affected organizations' inventories, which means they weren't being monitored for the kind of credential-based access that led to the breach.
The fix: Update your asset inventory in real time during a migration. When your vendor tells you they're standing up staging servers, add them to your inventory that day. Confirm which of your records sit in those environments, who has access, and how long they'll remain there. Run your standard security assessments against migration infrastructure before it goes live, not after the project wraps.
Mistake 5: Assuming Notification Is the Vendor's Problem
Why it happens: The breach happened on vendor infrastructure, so it feels like the vendor should handle notification. You're already managing the migration project, why should you also manage breach response?
The consequence: Under the Breach Notification Rule, the covered entity notifies patients, HHS, and the media when required. The business associate reports the breach to you, and you remain responsible for determining whether it's reportable and issuing notices. Oracle Health provided affected organizations with lists of their own patients, leaving each provider to handle notification individually. That's why breach reports continued arriving at state attorneys general through the following year, every covered entity had to complete its own review and file separately.
The fix: Clarify notification responsibilities in your business associate agreement before a breach happens. Confirm that your vendor will provide a list of affected individuals, the data elements exposed, and the timeline of unauthorized access within the timeframes specified in the agreement. Build your own notification process that doesn't depend on vendor templates or vendor timelines, because you're the one HHS will hold accountable.
Prevention Checklist
- Inventory all systems holding PHI during a migration, including staging servers and validation environments
- Apply production-level access controls, monitoring, and patching to migration infrastructure
- Confirm vendor credential management practices, including MFA enforcement and rotation schedules
- Set retention limits for data in staging environments and enforce deletion once validation completes
- Update your risk analysis asset inventory in real time as migration systems are created
- Request a list of all vendor accounts with access to your data and review access weekly during the migration
- Clarify breach notification responsibilities in your business associate agreement before the project starts
- Confirm which records sit in migration environments so you know your exposure if the vendor reports a breach
- Plan your own notification process independently of vendor support
By addressing these common mistakes, your team can better protect sensitive data during migrations and avoid the pitfalls that led to the Oracle Health breach.





