CVE-2025-62237

5.4 MEDIUM

📋 TL;DR

A stored cross-site scripting (XSS) vulnerability in Liferay's Commerce view order page allows attackers to inject malicious scripts into account name fields. When users view orders containing these malicious names, the scripts execute in their browsers. This affects Liferay Portal and DXP users with Commerce functionality enabled.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.4.3.8 through 7.4.3.111; Liferay DXP 2023.Q4.0 through 2023.Q4.5, 2023.Q3.1 through 2023.Q3.8, and 7.4 update 8 through update 92
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with Commerce module enabled and view order page accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or install malware on user systems.

🟠

Likely Case

Session hijacking, credential theft, or defacement of order pages for users viewing malicious orders.

🟢

If Mitigated

With proper input validation and output encoding, scripts would be rendered harmless as text rather than executed.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Requires ability to create or modify account names, which typically requires some level of access. Stored nature means one injection affects multiple users.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.112+, Liferay DXP 2023.Q4.6+, 2023.Q3.9+, 7.4 update 93+

Vendor Advisory: https://liferay.dev/portal/security/known-vulnerabilities/-/asset_publisher/jekt/content/CVE-2025-62237

Restart Required: No

Instructions:

1. Download appropriate patch from Liferay Customer Portal. 2. Apply patch using Liferay's patching tool. 3. Verify patch application in Control Panel > Server Administration > Patches.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation to sanitize account name fields

Implement custom validator for Account entity name field to strip/escape HTML/script tags

Output Encoding

all

Ensure proper output encoding on view order page

Modify view-order.jsp to use <liferay-ui:message> or equivalent encoding tags for account name display

🧯 If You Can't Patch

  • Restrict account creation/modification permissions to trusted users only
  • Implement WAF rules to block XSS payloads in account name parameters

🔍 How to Verify

Check if Vulnerable:

Check if your version falls within affected ranges and Commerce module is enabled

Check Version:

Check Control Panel > Server Administration > System Information for version details

Verify Fix Applied:

Verify patch is applied in Control Panel > Server Administration > Patches and test with benign XSS payload in account name field

📡 Detection & Monitoring

Log Indicators:

  • Unusual account name modifications containing script tags or JavaScript
  • Multiple failed login attempts following order views

Network Indicators:

  • Unexpected outbound connections from user browsers after viewing orders

SIEM Query:

account.name CONTAINS "<script>" OR account.name CONTAINS "javascript:"

🔗 References

📤 Share & Export