CVE-2025-62256

5.3 MEDIUM

📋 TL;DR

This vulnerability allows remote attackers to access Liferay's OpenAPI YAML file through a crafted URL, potentially exposing API documentation and internal system details. It affects Liferay Portal 7.4.0-7.4.3.109 and multiple Liferay DXP versions. Attackers can exploit this without authentication in certain configurations.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.4.0 through 7.4.3.109; Liferay DXP 2023.Q4.0 through 2023.Q4.5, 2023.Q3.1 through 2023.Q3.7, 7.4 GA through update 92, 7.3 GA through update 35, and older unsupported versions
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in certain circumstances where access restrictions to OpenAPI are improperly applied.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers obtain detailed API documentation revealing internal endpoints, parameters, and potentially sensitive information about the application architecture, facilitating further attacks.

🟠

Likely Case

Unauthorized access to OpenAPI documentation that could help attackers understand the application's API structure and identify potential attack vectors.

🟢

If Mitigated

Limited exposure of non-sensitive API documentation with no direct access to application data or functionality.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

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

Requires crafting specific URLs to bypass access controls. No authentication needed in vulnerable configurations.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.110+, Liferay DXP 2023.Q4.6+, 2023.Q3.8+, 7.4 update 93+, 7.3 update 36+

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

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 fix by testing OpenAPI access controls.

🔧 Temporary Workarounds

Restrict OpenAPI Access via Web Server

all

Configure web server (Apache/Nginx) to block access to OpenAPI endpoints

# Apache: Add to .htaccess or virtual host config
<Location "/o/api">
    Order deny,allow
    Deny from all
</Location>
# Nginx: Add to server block
location /o/api {
    deny all;
    return 403;
}

Disable OpenAPI Module

all

Disable the OpenAPI module in Liferay configuration

# Add to portal-ext.properties
module.framework.properties.osgi.console=localhost:11311
# Then use Gogo shell to stop module:
bundle:stop com.liferay.portal.openapi.rest.impl

🧯 If You Can't Patch

  • Implement network-level access controls to restrict access to Liferay instances from untrusted networks.
  • Deploy a web application firewall (WAF) with rules to block requests to OpenAPI endpoints.

🔍 How to Verify

Check if Vulnerable:

Attempt to access /o/api?endpoint=openapi.yaml or similar OpenAPI endpoints without authentication. If accessible, system is vulnerable.

Check Version:

Check Liferay Control Panel → Server Administration → Properties → liferay.home/build.{version} or use Gogo shell: bundle:list | grep -i liferay

Verify Fix Applied:

After patching, verify that OpenAPI endpoints return proper access denied responses for unauthorized requests.

📡 Detection & Monitoring

Log Indicators:

  • HTTP 200 responses to /o/api* endpoints from unauthenticated users
  • Unusual access patterns to OpenAPI documentation URLs

Network Indicators:

  • HTTP GET requests to /o/api?endpoint=openapi.yaml or similar patterns
  • Traffic to OpenAPI endpoints from external IPs

SIEM Query:

source="liferay.log" AND (uri_path="/o/api" OR uri_path CONTAINS "openapi") AND http_status=200 AND user="-"

🔗 References

📤 Share & Export