Cyber Resilience

CVE-2026-40488

Openmage Magento ≤ 20.17.0

Public PoC
Published
20 April 2026
Modified
23 April 2026
Patch / advisory
CVSS Score v4 8.7
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0069 50th percentile
Risk Priority 40 floored blend · peak EPSS

Summary

CVE-2026-40488 is a high-severity Unrestricted Upload of File with Dangerous Type (CWE-434) vulnerability in Openmage Magento. Its CVSS base score is 8.7 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 50th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SI-3 (Malicious Code Protection) and CM-7 (Least Functionality) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-40488 affects OpenMage LTS, an unofficial community-driven project providing long-term support for the Magento Community Edition e-commerce platform with high backward compatibility. Prior to version 20.17.0, the product custom option file upload feature implements an incomplete blocklist of forbidden extensions limited to `php` and `exe`. This allows trivial bypass using alternative PHP-executable extensions such as `.phtml`, `.phar`, `.php3`, `.php4`, `.php5`, `.php7`, and `.pht`. Uploaded files are stored in the publicly accessible `media/custom_options/quote/` directory, which may lack server-side execution restrictions in some configurations, potentially enabling remote code execution (RCE). The vulnerability is rated 8.8 on the CVSS 3.1 scale (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) and maps to CWE-434 (Unrestricted Upload of File with Dangerous Type).

A low-privileged remote attacker, such as an authenticated user with access to upload custom product options (e.g., a registered customer), can exploit this by uploading a malicious PHP file with a bypassable extension. If the web server configuration permits script execution in the `media/custom_options/quote/` directory, the attacker can then access the file via its public URL to trigger RCE, achieving high-impact confidentiality, integrity, and availability compromises on the server.

The GitHub Security Advisory (GHSA-3j5q-7q7h-2hhv) for OpenMage LTS confirms that version 20.17.0 resolves the issue by patching the blocklist and upload handling. Security practitioners should upgrade to 20.17.0 or later and verify web server configurations to deny script execution in the affected directory as an interim mitigation.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1505 Server Software Component Persistence
Adversaries may abuse legitimate extensible development features of servers to establish persistent access to systems.
T1505.003 Web Shell Persistence
Adversaries may backdoor web servers with web shells to establish persistent access to systems.
T1059 Command and Scripting Interpreter Execution
Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries.
T1105 Ingress Tool Transfer Command And Control
Adversaries may transfer tools or other files from an external system into a compromised environment.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-25525Same product: Openmage Magento
CVE-2026-25524Same product: Openmage Magento
CVE-2026-40098Same product: Openmage Magento
CVE-2024-41676Same product: Openmage Magento
CVE-2025-64174Same product: Openmage Magento
CVE-2023-41879Same product: Openmage Magento
CVE-2026-25523Same product: Openmage Magento
CVE-2023-23617Same product: Openmage Magento
CVE-2020-13671Same product class: CMS core
CVE-2024-56057Same product class: CMS core

Affected Assets

openmage
magento
≤ 20.17.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V5.1.1

Mitigating Controls (NIST 800-53 r5) AI

Malicious-code protection at entry points blocks dangerous file types from being accepted and executed.

Least functionality restricts the file types and automatic processing capabilities the system will accept.

SC-18 Mobile Code partial match

Mobile-code controls define, authorize, and block unacceptable uploaded code before automatic processing occurs.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-05 mostly match
prevents

Restricting execution of unauthorized software directly blocks dangerous uploaded files from running.

PR.PS-01 partial match
prevents

Hardened configuration baselines can enforce allowed file types and processing rules.

PR.PS-06 partial match
prevents

Secure development practices include input validation and file-type restrictions that prevent this weakness.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Configuration and acceptance testing verify that file-upload handling enforces allowed types and does not permit dangerous content to be stored or executed.

prevents

Secure-coding guidelines and security testing explicitly address restrictions on allowed file types and upload handling, reducing the risk that dangerous file uploads are accepted without validation.

prevents

Mandated testing for malicious content and known vulnerabilities reduces the likelihood that an outsourced component will contain or accept dangerous file types that could later be uploaded or executed.

mitigates

Application allow-listing and pre-use scanning of received files directly blocks the introduction of executable content that has not been vetted, eliminating the primary vector for unrestricted dangerous file uploads.

References