Security
Magento 2 Patch Installer: Composer Patches Checked Against Disk
A Composer plugin that applies Magento 2 and Adobe Commerce patches, re-checks them against the files on disk on every Composer run, and fails the build when one is missing.
Write-ups and mitigations for the Magento and Linux vulnerabilities I respond to, usually published while the incident is live.
When a Magento or Linux vulnerability lands and I have something useful to add, such as a mitigation nobody has published yet or a check that works across a fleet, I write it up: a post for what happened and a docs page with the copy-pasteable checks and fixes. The docs page is the one that stays up to date.
Most of the work happens before anything lands. Pull requests have to pass Sansec eComscan, Magento-specific Semgrep rules and composer audit before they can merge, builds and deploys run on hardened Docker images, and Adobe's isolated patches go out through Composer rather than by hand.
Found something in one of my projects or sites? The security policy covers how to report it, with my PGP key and response times.
Vulnerability responses, malware teardowns and patch notes.
How we prepared for and patched PHP2SHELL (CVE-2026-109618 and CVE-2026-109619) across native, Docker and Kubernetes PHP, from a Slack leak to the last site back.
m2-meta-security-patches now applies patches through samjuk/magento-patch-installer instead of vaimo/composer-patches. Two config lines, one composer update, and it coexists with vaimo or cweagans.
Adobe shipped two Magento 2 security patches a day apart — the StyleSmuggler emergency fix (VULN-39341 / APSB26-146) and September's routine isolated patch (2026-09-001 / APSB26-138). Both are now wired into m2-meta-security-patches.
How to detect, contain and recover from StyleSmuggler (CVE-2026-75650 / VULN-39341, APSB26-146), the actively exploited Magento and Adobe Commerce zero-day RCE.
APSB26-92 is Adobe Commerce's August 2026 isolated security patch, stacking on top of July's. Here's what's in it, WAF rules for the account takeover, the July packaging problems now fixed properly, and a vaimo/composer-patches bug that silently reverts your patches.
APSB26-73 is Adobe Commerce's July 2026 isolated security patch, covering 2.4.6-p15, 2.4.7-p10, 2.4.8-p5 and 2.4.9. Here's what's in it, the non-cumulative gotcha that trips people up, and the fastest way to apply it.
Copy-pasteable checks and fixes, kept up to date after the write-up.
Emergency mitigation and recovery for the Magento zero-day
Disable algif_aead to block the Linux kernel privilege escalation
Block esp4, esp6 and rxrpc to stop the follow-up kernel bugs
Malicious uploads through product custom options
Patch the unauthenticated RCE and check for backdoors
Check, patch and rotate keys after the Magento XXE
Behavioural check for CVE-2026-109618 and CVE-2026-109619
Open-source scanners, validators and patch tooling.
Security
A Composer plugin that applies Magento 2 and Adobe Commerce patches, re-checks them against the files on disk on every Composer run, and fails the build when one is missing.
Security
A Composer meta-package and installer that apply Adobe's isolated and emergency Magento 2 security patches and fail the build when one goes missing.
Security
Two ways to roll a Magento 2 security patch across many stores: an Ansible live-patching playbook and a version-constrained Composer patch package.
Security
A free online checker and bulk CLI tools that test Magento 2 stores for CosmicSting (CVE-2024-34102), built on a PHP port of Chocapikk's public proof of concept.
Security
A CI-tested Ansible Galaxy role, samjuk.ecomscan, that runs Sansec eComscan across a fleet of hosts once or on a cron schedule, with email and Slack reports.
What my non-destructive vulnerability scanner checks for
A selection of issues I have reported to vendors and store owners. Kept high-level on purpose, and every one was resolved with the affected party.
Multiple Retailers · Magento Stores
Conducted automated scanning and responsible disclosure to hundreds of Magento stores vulnerable to the critical CosmicSting XXE vulnerability. Ranging from small businesses to large enterprises, helping merchants mitigate risks before active exploitation.
Read the write-up →Major Power Tools Franchise · Magento Store
Identified a publicly accessible PHP backdoor script providing unauthorized administrative access to a Magento store as well as a SQL console to the database.
Tattoo Retailer · Magento Store
Identified a vulnerability that allowed unauthorized access to sensitive files, ranging from payment log files, to configuration files containing database credentials, package auth keys and API keys potentially leading to further exploitation.
Photonics Manufacturer · Magento Store
Identified a vulnerability that allowed unauthorized access to sensitive files, ranging from payment log files, to configuration files containing database credentials, package auth keys and API keys potentially leading to further exploitation.
Mirasvit · Magento Extensions
Discovered and reported collection of stored XSS vulnerabilities across a range of Mirasvit extensions, to prevent malicious scripts being injected both into the admin and frontend interfaces.
Pay360 · Magento 1 Extension
Identified and reported an SQL injection vulnerability in the order export functionality of a Pay360 Magento 1 extension, to prevent potential manipulation of database queries and access to sensitive information.
Product names and logos on this page are trademarks of their respective owners.
Found something in one of my sites or projects? The policy covers scope, response times, safe harbour and my PGP key.
I report vulnerabilities to Adobe and extension vendors, and write up live Magento incidents as they happen. Happy to compare notes with other people doing the same.