CVE-2025-63551

7.5 HIGH

📋 TL;DR

This CVE describes a Server-Side Request Forgery (SSRF) vulnerability in MetInfo CMS that can be triggered via XML External Entity (XXE) injection. Attackers can exploit this flaw to force the server to make HTTP requests to arbitrary internal or external addresses, potentially exposing sensitive information or enabling network reconnaissance. All MetInfo CMS installations through version 8.1 are affected.

💻 Affected Systems

Products:
  • MetInfo Content Management System
Versions: through 8.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability is present in the backend API associated with /admin/#/webset/?head_tab_active=0 path where XML data is processed.

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of internal network resources, sensitive data exfiltration, or lateral movement to other systems via the server's network position.

🟠

Likely Case

Internal network reconnaissance, port scanning of internal services, and retrieval of metadata from cloud services or internal APIs.

🟢

If Mitigated

Limited to external network scanning or blocked requests due to network segmentation and egress filtering.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires access to the vulnerable endpoint, which is typically in the admin interface. Public proof-of-concept code is available in GitHub repositories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Unknown

Restart Required: No

Instructions:

Check MetInfo official website for security updates. Upgrade to version 8.2 or later when available. Apply patches immediately upon release.

🔧 Temporary Workarounds

Disable XML External Entity Processing

all

Configure the XML parser to disable external entity resolution and DTD processing

For PHP: libxml_disable_entity_loader(true);
Set XML parser configuration: LIBXML_NOENT => false, LIBXML_DTDLOAD => false, LIBXML_DTDATTR => false

Input Validation and Filtering

all

Implement strict input validation to reject XML containing external entity declarations

Implement regex filtering for DOCTYPE and ENTITY declarations in XML input

🧯 If You Can't Patch

  • Implement network segmentation to restrict the server's outbound network access
  • Deploy a Web Application Firewall (WAF) with XXE and SSRF protection rules

🔍 How to Verify

Check if Vulnerable:

Test the vulnerable endpoint at /admin/#/webset/?head_tab_active=0 with crafted XML containing external entity references to a controlled server and monitor for outbound requests.

Check Version:

Check MetInfo version in admin panel or review /install/install.lock file contents

Verify Fix Applied:

After applying fixes, repeat the vulnerability test and confirm no outbound requests are made to external entities. Verify XML parser configuration disables external entity processing.

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound HTTP requests from the web server to internal IP ranges
  • XML parsing errors containing external entity references
  • Requests to the vulnerable /admin/#/webset endpoint with XML payloads

Network Indicators:

  • HTTP requests from web server to unusual internal destinations (RFC1918 addresses)
  • Requests to metadata services (169.254.169.254, etc.) from web server

SIEM Query:

source="web_server_logs" AND (uri="/admin/#/webset" OR uri CONTAINS "webset") AND (payload CONTAINS "<!ENTITY" OR payload CONTAINS "SYSTEM")

🔗 References

📤 Share & Export