CVE-2025-3586

7.2 HIGH

📋 TL;DR

This vulnerability allows authenticated admin users with Instance Administrator role to execute arbitrary Groovy scripts through Object actions in Liferay Portal/DXP, leading to remote code execution. It affects Liferay Portal 7.4.3.27-7.4.3.42 and multiple Liferay DXP versions. Liferay SaaS deployments are not affected as they already restrict Groovy script usage.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.4.3.27 through 7.4.3.42; Liferay DXP 2024.Q1.1 through 2024.Q1.20, 2023.Q4.0 through 2023.Q4.10, 2023.Q3.1 through 2023.Q3.10, 7.4 update 27 through update 42
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects Liferay PaaS and Self-Hosted deployments. Liferay SaaS deployments are NOT affected as they already restrict Groovy usage. Requires authenticated admin user with Instance Administrator role.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise where an authenticated admin attacker gains complete control over the server, can execute arbitrary commands, access sensitive data, and pivot to other systems.

🟠

Likely Case

Privileged admin user exploits the vulnerability to execute arbitrary code, potentially installing backdoors, stealing data, or disrupting services.

🟢

If Mitigated

Limited impact if proper access controls restrict admin privileges and monitoring detects unusual Groovy script execution.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated admin access. The vulnerability is in the Objects module's handling of Groovy scripts in Object actions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay DXP 2024.Q2 and later with Groovy restriction enabled in Instance Settings

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

Restart Required: Yes

Instructions:

1. Upgrade to Liferay DXP 2024.Q2 or later. 2. In Instance Settings, disable Groovy script usage in Object actions. 3. Restart the Liferay instance.

🔧 Temporary Workarounds

Restrict Admin Access

all

Limit Instance Administrator role to only trusted users and implement strict access controls.

Disable Objects Module

all

Temporarily disable the Objects module if not required for business operations.

🧯 If You Can't Patch

  • Implement strict monitoring of admin user activities and Groovy script execution
  • Apply network segmentation to limit Liferay server access and reduce attack surface

🔍 How to Verify

Check if Vulnerable:

Check Liferay version in Control Panel → Configuration → Server Administration → System Information

Check Version:

Check via Control Panel or examine liferay-portal.xml version property

Verify Fix Applied:

Verify version is 2024.Q2+ and Groovy restriction is enabled in Instance Settings → Objects → Scripting

📡 Detection & Monitoring

Log Indicators:

  • Unusual Groovy script execution in Object actions
  • Admin user performing unexpected Object actions
  • System command execution from Liferay processes

Network Indicators:

  • Outbound connections from Liferay server to unexpected destinations
  • Unusual network traffic patterns from Liferay server

SIEM Query:

source="liferay" AND (message="*Groovy*" OR message="*ObjectAction*" OR message="*script*execution*")

🔗 References

📤 Share & Export