CVE-2025-64174

4.8 MEDIUM

📋 TL;DR

This stored XSS vulnerability in Magento-lts allows attackers with admin database access or control over admin notification feeds to inject malicious scripts into vulnerable fields. Unescaped translation strings and URLs in the notification grid renderer enable script execution when viewed by administrators. Affected users are those running Magento-lts versions 20.15.0 and below.

💻 Affected Systems

Products:
  • OpenMage Magento-lts
Versions: 20.15.0 and below
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires admin database access or control over admin notification feed source to exploit.

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with admin database access could inject persistent XSS payloads that execute in admin sessions, potentially leading to full administrative account compromise, data theft, or further server exploitation.

🟠

Likely Case

Malicious translation strings or polluted notification data cause script execution in admin panels, potentially stealing session cookies or performing unauthorized admin actions.

🟢

If Mitigated

With proper input validation and output encoding, the risk is limited to authenticated admin users viewing malicious content, but still poses credential theft risk.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires admin database access or ability to modify notification feed data. The vulnerability is in the admin interface rendering.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 20.16.0

Vendor Advisory: https://github.com/OpenMage/magento-lts/security/advisories/GHSA-qv78-c8hc-438r

Restart Required: No

Instructions:

1. Backup your Magento installation and database. 2. Update to Magento-lts version 20.16.0 or later. 3. Clear cache and recompile if necessary. 4. Verify the fix by checking the version.

🔧 Temporary Workarounds

Input Validation and Output Encoding

all

Implement additional input validation for translation strings and notification data, and ensure proper output encoding in affected templates.

Manual code review and modification of app/code/core/Mage/Adminhtml/Block/Notification/Grid/Renderer/Actions.php

🧯 If You Can't Patch

  • Restrict database access to admin users only and implement strict access controls.
  • Monitor and sanitize admin notification feed sources to prevent malicious data injection.

🔍 How to Verify

Check if Vulnerable:

Check if running Magento-lts version 20.15.0 or below. Review app/code/core/Mage/Adminhtml/Block/Notification/Grid/Renderer/Actions.php for unescaped output.

Check Version:

php -r "include 'app/Mage.php'; echo Mage::getVersion();"

Verify Fix Applied:

Verify installation is version 20.16.0 or later. Check that output in notification grid is properly escaped.

📡 Detection & Monitoring

Log Indicators:

  • Unusual database modifications to translation tables or notification data
  • Admin panel access with suspicious payloads in URLs or forms

Network Indicators:

  • Unexpected outbound connections from admin sessions
  • Suspicious data in notification feed requests

SIEM Query:

source="magento_access_logs" AND (uri="*notification*" OR uri="*admin*" OR uri="*grid*") AND (payload="*script*" OR payload="*javascript:*" OR payload="*onerror=*")

🔗 References

📤 Share & Export