CVE-2025-43803

4.3 MEDIUM

📋 TL;DR

An insecure direct object reference (IDOR) vulnerability in Liferay's Contacts Center widget allows remote attackers to access contact information they shouldn't have permission to view. Attackers can retrieve names and email addresses by manipulating the entryId parameter. This affects Liferay Portal 7.4.0-7.4.3.119 and Liferay DXP multiple versions including 2023.Q4.0-2023.Q4.6 and 7.4 GA through update 92.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.4.0 through 7.4.3.119 and older unsupported versions; Liferay DXP 2023.Q4.0 through 2023.Q4.6, 2023.Q3.1 through 2023.Q3.10, 7.4 GA through update 92 and older unsupported versions
Operating Systems: Any OS running affected Liferay versions
Default Config Vulnerable: ⚠️ Yes
Notes: The Contacts Center widget must be enabled and accessible. Older unsupported versions are also affected but won't receive patches.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Mass data exfiltration of all contact information leading to privacy violations, targeted phishing campaigns, or identity theft.

🟠

Likely Case

Limited unauthorized access to contact data, potentially exposing sensitive personal information of users or customers.

🟢

If Mitigated

Minimal impact with proper access controls and monitoring detecting unauthorized parameter manipulation attempts.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable and exposes sensitive contact information to external attackers.
🏢 Internal Only: MEDIUM - Internal attackers could still exploit this to access unauthorized contact data, but external exposure is more concerning.

🎯 Exploit Status

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

Exploitation requires understanding of the parameter structure and valid entry IDs, but no authentication bypass is needed beyond accessing the widget.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.120+, Liferay DXP 2023.Q4.7+, 2023.Q3.11+, 7.4 update 93+

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

Restart Required: No

Instructions:

1. Download the appropriate fix pack from Liferay's customer portal. 2. Apply the fix pack according to Liferay's deployment documentation. 3. Verify the Contacts Center widget no longer accepts unauthorized entryId parameters.

🔧 Temporary Workarounds

Disable Contacts Center Widget

all

Remove or disable the vulnerable Contacts Center widget from all pages and portlet configurations.

Navigate to Control Panel > Widgets > Contacts Center > Configuration > Set 'Active' to false

Implement Parameter Validation Filter

all

Add a servlet filter to validate entryId parameters against user permissions before processing.

Custom development required - implement filter to check user permissions against requested entryId

🧯 If You Can't Patch

  • Implement strict access controls and monitoring for the Contacts Center widget endpoints
  • Deploy a WAF with rules to detect and block suspicious parameter manipulation attempts

🔍 How to Verify

Check if Vulnerable:

Test by accessing the Contacts Center widget and manipulating the _com_liferay_contacts_web_portlet_ContactsCenterPortlet_entryId parameter with different values to see if unauthorized contact data is returned.

Check Version:

Check Liferay version via Control Panel > Server Administration > Properties > liferay.version

Verify Fix Applied:

After patching, attempt the same parameter manipulation - it should return access denied errors or no data for unauthorized requests.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed access attempts to contact endpoints
  • Unusual parameter values in Contacts Center requests
  • Access logs showing sequential entryId parameter testing

Network Indicators:

  • Unusual patterns of requests to /contacts-center endpoints with varying entryId parameters
  • Traffic spikes to contact data endpoints

SIEM Query:

source="liferay.logs" AND (uri_path="/contacts-center" OR parameter_name="entryId") AND (status_code=200 OR parameter_value!="authorized_value")

🔗 References

📤 Share & Export