# CVE-2026-40488: OpenMage LTS: Customer File Upload Extension Blocklist Bypass → Remote Code Execution

Source: https://junglewise.ai/threats/cve-2026-40488-openmage-lts-customer-file-upload-extension-blocklist-bypass  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-04-20. Updated: 2026-05-11  
License: CC BY 4.0 with a link back

CVE-2026-40488 · Severity: high · CVSS 8.8 · Published 2026-04-20

Magento Long Term Support (LTS) is an unofficial, community-driven project provides an alternative to the Magento Community Edition e-commerce platform with a high level of backward compatibility. Prior to version 20.17.0, the product custom option file upload in OpenMage LTS uses an incomplete blocklist (`forbidden_extensions = php,exe`) to prevent dangerous file uploads. This blocklist can be trivially bypassed by using alternative PHP-executable extensions such as `.phtml`, `.phar`, `.php3`, `.php4`, `.php5`, `.php7`, and `.pht`. Files are stored in the publicly accessible `media/custom_options/quote/` directory, which lacks server-side execution restrictions for some configurations, enabling Remote Code Execution if this directory is not explicitly denied script execution. Version 20.17.0 patches the issue.

Technologies: [OpenMage Magento](https://junglewise.ai/threats/technologies/openmage-magento), [openmage/magento-lts (Packagist)](https://junglewise.ai/threats/technologies/openmage-magento-lts). Vendors: [OpenMage](https://junglewise.ai/threats/vendors/openmage), [Packagist](https://junglewise.ai/threats/vendors/packagist).

## Quick answers

**Is CVE-2026-40488 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-40488 being exploited in the wild.

**How severe is CVE-2026-40488?** High severity, with a CVSS score of 8.8, published 20 April 2026.

**Which products and versions are affected?** openmage/magento-lts (Packagist) <= 20.16.0, ECOSYSTEM:introduced=0,fixed=20.17.0.

**Is there a fix for CVE-2026-40488?** Yes. openmage/magento-lts (Packagist): upgrade to 20.17.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2026-40488?** Check whether you run OpenMage Magento or openmage/magento-lts (Packagist) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- openmage/magento-lts (Packagist): upgrade to 20.17.0 or later

  ```sh
  composer require openmage/magento-lts:^20.17.0
  ```


## Affected products

- OpenMage Magento
- openmage/magento-lts (Packagist) <= 20.16.0, ECOSYSTEM:introduced=0,fixed=20.17.0

## Identifiers

- CVE-2026-40488
- GHSA-3j5q-7q7h-2hhv

## References

- [https://github.com/OpenMage/magento-lts/security/advisories/GHSA-3j5q-7q7h-2hhv](https://github.com/OpenMage/magento-lts/security/advisories/GHSA-3j5q-7q7h-2hhv)
- [https://api.github.com/repos/OpenMage/magento-lts/security-advisories/GHSA-3j5q-7q7h-2hhv](https://api.github.com/repos/OpenMage/magento-lts/security-advisories/GHSA-3j5q-7q7h-2hhv)

## Related threats

- [OpenMage Magento LTS reflected XSS in Dataflow Profiles](https://junglewise.ai/threats/cve-2026-42458-openmage-magento-lts-reflected-xss-in-dataflow-profiles)
- [OpenMage Magento LTS open redirect in stockAction controller](https://junglewise.ai/threats/cve-2026-42207-openmage-magento-lts-open-redirect-in-stockaction-controller)
- [OpenMage Magento LTS predictable API session ID generation](https://junglewise.ai/threats/cve-2026-42155-openmage-magento-lts-predictable-api-session-id-generation)
- [OpenMage LTS: Cross-user wishlist import leads to private option & file disclosure](https://junglewise.ai/threats/cve-2026-40098-openmage-lts-cross-user-wishlist-import-leads-to-private-option)
- [OpenMage LTS has a Path Traversal Filter Bypass in Dataflow Module](https://junglewise.ai/threats/cve-2026-25525-openmage-lts-has-a-path-traversal-filter-bypass-in-dataflow)
