
Isolation and a forensic snapshot first
Magento Security
Hacked Magento store recovery for Magento Open Source and Adobe Commerce: the store isolated, skimmers and backdoors removed, the entry point patched, and the store hardened before we leave.
Book the Emergency CallWhy a patch is not a recovery
62% of Magento stores still unpatched six weeks after the SessionReaper fix16 to 18% of all Magento stores estimated to carry a backdoor by late October 2025
A hacked Magento store is rarely a clever attack. It is a published vulnerability, a patch that waited, and an automated scanner that found the store first.
SessionReaper, CVE-2025-54236 in the Adobe Commerce REST API, showed how fast that goes. Sansec blocked more than 250 exploitation attempts in a single day when the attacks began in October 2025, measured 62 percent of Magento stores still unpatched six weeks after Adobe's fix, and estimated that 16 to 18 percent of all stores already carried at least one backdoor.
That is the part a patch cannot fix. Applying the fix closes the door; it does nothing about the webshell uploaded through it last week, the admin user added at three in the morning, or the skimmer reading card numbers on the checkout. A store that is patched and still infected is the normal case we are called about, not the exception.
Recovery is the work in between: isolate the store, find the entry point, remove everything that came through it, patch or upgrade the version that let it in, and prove to your payment processor and your customers that it is clean. Then keep it that way.
How you find out
Most merchants hear it from a third party: a browser warning, a card scheme, a customer. Any one of these is a reason to call today, not after the weekend.

Customers report fraud on cards they used only with you, or your acquirer opens a common point of purchase inquiry. A skimmer on the payment page is the usual cause, and it is invisible in the admin.

An administrator nobody created, an integration token nobody remembers issuing, a password reset at an odd hour. Attackers add a door of their own so the patch does not lock them out.

Chrome shows a red page before your homepage, Search Console lists a security issue, and traffic falls off a cliff. The warning stays until the malware is gone and Google has reviewed the site again.

Your processor or a card scheme asks for a forensic report, holds funds or threatens to close the account. They usually know before you do, because the stolen cards trace back to your store.

A core file modified last Tuesday, a new PHP file in the media folder, a cron job you did not write. Magento's file integrity is easy to check, and almost nobody checks it.

Thousands of registrations overnight, orders for nothing from nowhere, your transactional email domain blacklisted. Bots are testing stolen cards on your checkout or using the store to send mail.
What recovery covers

The store isolated, a forensic snapshot taken, credentials rotated and deployments frozen before anything else is touched.

The vulnerability, the weak password or the exposed extension that let them in, identified from the evidence and fixed, not guessed at.

Every injected script, webshell, rogue cron and modified core file removed, with the codebase verified against known-good hashes.

Every admin user, integration token, API key and SSH key reviewed, the ones nobody can vouch for removed, two-factor turned on.

Google Safe Browsing review requested, the mail domain delisted, and the incident report your acquirer or card scheme asks for written.

A supported version, a firewall and content security policy, monitoring, and patch cover so the same door does not open twice.
Contain, clean, harden, report
What you are left with
4 things you keep: the incident report, a verified codebase, a supported version, patch cover2 days to a written answer on a store that is patched but was never checked
Recovery ends with four things in your hands, not a verbal all-clear and not a scan-and-wipe that leaves the door open.
An incident report in plain language: how they got in, when, what they touched, which customer or card data could have been read, and what was done about each finding. It is written for your payment processor, your card schemes and your lawyer as much as for you, because those are the people who will ask.
A clean, verified codebase in your repository: every file checked against Adobe's and your extension vendors' known-good hashes, every change recorded as a commit, no hand-edited core left behind. And a store on a supported, patched version, with the web application firewall, the content security policy and two-factor admin switched on and documented.
Then patch cover, if you want it: the monthly service that applies every Adobe and extension security release inside an agreed window, so the next bulletin is a routine Tuesday rather than the next incident. A hack is the reason most stores start it, and the register we build during recovery is where it begins.
Pick the way in
For a store that is breached right now: a browser warning on the homepage, cards leaking at checkout, an acquirer on the phone. Containment starts the same business day, cleanup and the root cause follow, and you get the incident report your processor asks for.
For a store that applied the SessionReaper fix and never checked what came through before it: the file system and database read against known-good hashes, the admin and API audit, and a written answer inside two business days. If something is found, recovery starts from there.
For a store that was cleaned, by us or by someone else, and must not be hit twice: the version brought onto a supported line, firewall, content security policy and two-factor admin in place, and patch cover from the next Adobe bulletin on.
Not our word for it

Adobe Certified Expert
7 professionals
Adobe Certified Expert
4 masters
Adobe Certified Expert
9 experts
Adobe Certified Expert
14 experts
Adobe Certified Expert
14 experts
Google Analytics Certification
6 expertsTrusted by 100+ companies
Keep reading



FAQ
Tell us about your store and we will come back with straight answers.
Talk to usThe same business day you call. Containment does not wait for a contract: we agree the scope of the first week on the call, you grant access, and isolation, the snapshot and credential rotation begin within hours. The cleanup, the root cause and the report follow inside that first week for most stores. If the store is on an unsupported version, the upgrade is planned alongside rather than after.
Usually not for long. The first step puts the store behind a web application firewall or into maintenance mode while the snapshot is taken and credentials are rotated; that is hours, not days. A store actively skimming card data is the exception: it comes off checkout immediately, because every order placed while the skimmer runs is another leaked card. We tell you which case you are in on the first call.
Because we do not search for malware; we search for anything that differs from known-good. Every Magento core file and every extension file is compared with the vendor's published hashes, the database is read for injected scripts in CMS blocks, design configuration and the admin, cron jobs and the web server configuration are reviewed, and admin users, integration tokens and API keys are listed against the ones you can vouch for. What is left is what the attacker added, whether a signature exists for it or not.
It depends on where your customers are and what was exposed. Card data points to your acquirer and the card schemes, often through a forensic investigator they appoint; personal data of EU residents brings GDPR's 72-hour breach notification; every US state has its own breach notification law. The incident report gives you the dated facts those notices need. What it does not do is decide for you: that is a conversation with your lawyer, and this answer is not legal advice.
They can, and the way to avoid it is to be ahead of them. A processor that hears from you first, with a snapshot, a containment date and a forensic plan, generally works with you; one that finds out from the card schemes' common point of purchase alerts generally does not. The incident report is written in the terms their forensic team expects, and if they appoint an investigator we work with them rather than around them.
Scoped after containment, not before. The first hours are the same for every store; what follows depends on how long the attacker was inside, how many systems they reached and whether the version has to be upgraded before it can be patched at all. Once the snapshot is read we give you a fixed scope for the recovery, in writing. There is no price list on this site because no two incidents are the same size.
Yes, and most stores do. Patch cover applies every Adobe and extension security release inside an agreed window, tested on staging first, with a monthly report and an emergency line. The register of versions and extensions we build during recovery is the starting point, so there is no second onboarding. The Magento security patching page describes how the month runs.
Possibly, and the snapshot will say. SessionReaper, CVE-2025-54236, is a flaw in the Adobe Commerce REST API that let attackers upload PHP through the customer address endpoint; its traces are specific files in the media directories and specific request patterns in the web server logs. It was the most exploited Magento vulnerability of 2025, but older flaws, stolen admin passwords and compromised extensions still account for a large share of what we see, and the fix differs for each.
Patched is not the same as clean. The patch closes the door; it does not remove a webshell uploaded before it was applied, an admin user added through it or a skimmer already on the checkout. Sansec estimated that 16 to 18 percent of all Magento stores carried a backdoor by late October 2025, many of them patched by then. A store that was exposed for any period before patching needs its file system checked.
Both, and Mage-OS. On Cloud, the snapshot and the cleanup run through the project's environments and Adobe's own tooling, and some containment steps, such as the firewall rules, are configured on the CDN rather than on a server you own. On self-hosted stores we work on your infrastructure, with your hosting provider where needed.
We need access, not your passwords. Give us our own SSH key, our own admin user with two-factor and our own role on the hosting account, and revoke them when the work ends; that is how we rotate credentials without locking you out of your own store. For payment accounts we need read access to the dispute and fraud reports, nothing more.
We can tell you what could have been read, which is what the notification laws ask. The logs show which endpoints the attacker called and for how long, the skimmer's own code shows which fields it captured, and the database shows what the attacker had access to. Exact lists of affected customers depend on how much logging the store kept, and part of hardening is making sure that next time the answer is complete.
Then we say so and show you the numbers. A store with a compromised extension that no longer has a vendor, on a version that cannot be patched, is sometimes faster and safer to rebuild on a clean supported installation, with the catalog, customers and orders migrated across from a verified export. That is a rescue decision made with you, not a surprise invoice.
Let’s build something great together!
Send the store URL and what you have seen so far. We come back the same business day with the first steps, and containment starts as soon as you grant access.