CVE-2020-28884

7.2 HIGH

📋 TL;DR

CVE-2020-28884 is an OS command injection vulnerability in Liferay Portal Server that allows authenticated administrators to execute arbitrary operating system commands through Groovy script injection. This affects Liferay Portal Server versions 7.2.0 GA1 and 7.3.5 GA6. The developer disputes this as a vulnerability, considering it an intended feature for administrators.

💻 Affected Systems

Products:
  • Liferay Portal Server
Versions: 7.2.0 GA1, 7.3.5 GA6
Operating Systems: All platforms running Liferay Portal Server
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the script console feature intended for administrators. No special configuration is required beyond having administrator access.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise allowing attackers to execute arbitrary OS commands, access sensitive data, install malware, or pivot to other systems.

🟠

Likely Case

Privileged administrator account abuse leading to unauthorized command execution, data exfiltration, or system manipulation.

🟢

If Mitigated

Limited impact with proper access controls, monitoring, and administrator vetting in place.

🌐 Internet-Facing: MEDIUM - While exploitation requires administrator credentials, internet-facing portals increase attack surface for credential compromise.
🏢 Internal Only: HIGH - Internal administrators with legitimate access could abuse this feature intentionally or through compromised credentials.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires administrator credentials. Public proof-of-concept demonstrates Groovy script injection to execute OS commands. The feature is documented in official Liferay documentation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: None - Developer disputes this as a vulnerability

Vendor Advisory: None - Developer considers this a feature, not a vulnerability

Restart Required: No

Instructions:

No official patch available. The developer maintains this is an intended feature for administrators to run Groovy scripts via the script console.

🔧 Temporary Workarounds

Disable Script Console Access

all

Restrict or disable access to the script console feature for all administrator accounts.

Modify portal-ext.properties: script.console.enabled=false
Update role permissions to remove script console access

Implement Least Privilege Access

all

Create separate administrator roles without script console access for routine administration tasks.

Create custom roles in Control Panel > Users > Roles
Assign minimal necessary permissions to each role

🧯 If You Can't Patch

  • Implement strict access controls and monitoring for administrator accounts
  • Regularly audit administrator activities and script console usage

🔍 How to Verify

Check if Vulnerable:

Check if you have Liferay Portal Server version 7.2.0 GA1 or 7.3.5 GA6 and verify if administrator accounts have access to the script console feature.

Check Version:

Check Liferay Control Panel > Server Administration > Properties, or examine liferay-portal.xml version information

Verify Fix Applied:

Verify that script console access is disabled or restricted, and test that administrator accounts cannot execute arbitrary OS commands through Groovy scripts.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Groovy script execution in Liferay logs
  • Script console access from unexpected administrator accounts
  • OS command execution patterns in system logs

Network Indicators:

  • Outbound connections from Liferay server to unexpected destinations following script execution

SIEM Query:

source="liferay.log" AND ("script console" OR "groovy" OR "Runtime.exec") AND (administrator_user_activity)

🔗 References

📤 Share & Export