Attackers are uploading web shells to Magento stores through the shopping cart. Install Adobe’s July fix and check for intruders

By George Bailey   Published: 10/28/26   6 min read

A Magento store can be broken into through its own shopping cart. PolyShell lets anyone with no account upload a file through the guest-cart API, and on many web server setups that file runs as code. On Tuesday CISA added the flaw to its list of exploited vulnerabilities and gave federal agencies until November 10 to fix it.

Get the CyberExperts Daily Brief: the day's top security news in 5 minutes. Free.

Sansec, which found and named the bug in March, says one criminal group has used it to plant skimmer-style loader code on online stores, and that patching alone has not kept every store clean.

PolyShell lets a stranger upload a web shell through a Magento store’s shopping cart. CISA now lists it as exploited, and Sansec found the loader back on a fully patched store an hour after a clean scan.

CISA lists the PolyShell cart upload flaw as exploited

CISA added CVE-2026-48356, an unrestricted file upload flaw in Adobe Commerce and Magento Open Source, to the Known Exploited Vulnerabilities catalog on October 27. The federal due date is November 10. Adobe fixed it on July 14 in bulletin APSB26-73 and rates it critical with a CVSS score of 9.6; the bulletin, last updated August 11, still says Adobe is not aware of exploits.

Sansec’s write-up explains the bug. Magento’s REST API accepts a file as part of a cart item’s custom options and writes it to pub/media/custom_options/quote/. It never checks that the product has a file option and never blocks .php, .phtml or .phar files; the only test is an image header, which a polyglot file passes. The anonymous routes POST /V1/guest-carts/:cartId/items and PUT /V1/guest-carts/:cartId/items/:itemId need no login.

Sansec reported attack attempts against 79.5% of the stores it protects by March 30. On October 24 it tied a loader campaign on 953 stores, mostly Magento, to the same group, including 471 stores injected within one hour in March after web shells were uploaded through PolyShell.

Magento stores that skipped the July update, and some that did not

Any store on Magento Open Source or Adobe Commerce that has not installed the July 2026 release is exposed to the upload. Whether the uploaded file runs depends on the web server: Sansec lists stock nginx on Magento 2.0 to 2.2, any nginx setup that passes every .php file to PHP, and older Apache setups without php_flag engine 0. Even when the file cannot run, it stays on disk and can turn dangerous after a server move or config change.

Patching does not remove an intruder. Sansec found the newest loader on a Magento 2.4.7-p10 store with no missing core patches on October 23, one hour after it passed a clean scan; the store had a rogue admin account from September 16 and a GSocket backdoor from September 24. The loader lives in the cms_block database table, so deleting the script leaves the attacker’s database access in place.

Install Adobe’s July release, then hunt for shells and loader code

Forward this

For whoever runs our online store or hosts it for us: CISA says the PolyShell flaw in Magento and Adobe Commerce is being exploited, and it lets anyone upload files through the shopping cart. Can we confirm the store is on Adobe’s July 2026 security release, that the upload folder is blocked from the web, and that someone has checked for planted files and unknown admin accounts this week?

Details

Hunt / verify

Source: CISA KEV addition, October 27; Sansec: how to check your store

Sources

George Bailey

George Bailey is the byline of the CyberExperts editorial desk, the team behind the CyberExperts Daily Brief. The desk covers vulnerabilities, breaches and security news from vendor advisories, CISA alerts and other primary sources, and links those sources in every story. Questions or corrections: [email protected].