CVE-2024-8980

9.6 CRITICAL

📋 TL;DR

This CSRF vulnerability in Liferay's Script Console allows attackers to execute arbitrary Groovy code on affected servers by tricking authenticated administrators into clicking malicious links or through XSS attacks. All Liferay Portal and DXP installations within specified version ranges are affected, potentially compromising the entire server.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.0.0-7.4.3.101, Liferay DXP 2023.Q3.1-2023.Q3.4, 7.4 GA-update 92, 7.3 GA-update 35, 7.2 GA-fix pack 20, 7.1 GA-fix pack 28, 7.0 GA-fix pack 102, 6.2 GA-fix pack 173
Operating Systems: All platforms running affected Liferay versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated administrator access to Script Console feature, but CSRF bypasses this requirement.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise with remote code execution, data theft, privilege escalation, and persistent backdoor installation leading to full system control.

🟠

Likely Case

Unauthorized Groovy script execution leading to data manipulation, privilege escalation, and potential lateral movement within the environment.

🟢

If Mitigated

Limited impact with proper CSRF protections, network segmentation, and administrative access controls preventing successful exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires social engineering or XSS to trigger CSRF against authenticated admin sessions. No authentication bypass needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.102+, Liferay DXP 2023.Q3.5+, and corresponding fix packs for older versions

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

Restart Required: Yes

Instructions:

1. Download appropriate fix pack from Liferay Customer Portal. 2. Backup current installation. 3. Apply fix pack following Liferay documentation. 4. Restart Liferay server. 5. Verify version update.

🔧 Temporary Workarounds

Disable Script Console

all

Remove or restrict access to the vulnerable Script Console feature

Navigate to Control Panel > Configuration > System Settings > Scripting
Disable 'Enable Scripting' option or restrict permissions

Implement CSRF Protection

all

Add CSRF tokens to Script Console requests

Configure Liferay CSRF filter to include Script Console endpoints
Add anti-CSRF tokens to all administrative interfaces

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Liferay servers from untrusted networks
  • Enforce multi-factor authentication for all administrative accounts and monitor for suspicious Script Console access

🔍 How to Verify

Check if Vulnerable:

Check Liferay version against affected ranges in Control Panel > Server Administration > Properties

Check Version:

Check liferay.home/portal-ext.properties or Control Panel > Server Administration

Verify Fix Applied:

Verify version is updated beyond vulnerable ranges and test Script Console CSRF protection

📡 Detection & Monitoring

Log Indicators:

  • Unusual Groovy script execution in Script Console logs
  • Multiple failed CSRF token validations for administrative endpoints
  • Script Console access from unexpected IP addresses

Network Indicators:

  • POST requests to /group/control_panel/manage/-/script/console without CSRF tokens
  • Unexpected outbound connections from Liferay server after Script Console access

SIEM Query:

source="liferay.log" AND ("Script Console" OR "groovy" OR "CSRF") AND (severity="ERROR" OR "unauthorized")

🔗 References

📤 Share & Export