CVE-2017-8110

10.0 CRITICAL
XXE

📋 TL;DR

This vulnerability allows attackers to perform XML External Entity (XXE) attacks through the modified eCommerce Shopsoftware API. Attackers can read arbitrary files from the server, potentially including sensitive configuration files and credentials. All installations running the affected version are vulnerable.

💻 Affected Systems

Products:
  • modified eCommerce Shopsoftware
Versions: 2.0.2.2 rev 10690
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Specifically affects the api/it-recht-kanzlei/api-it-recht-kanzlei.php endpoint. Requires PHP with XML parsing enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise through file disclosure of sensitive data like database credentials, followed by data exfiltration or further system exploitation.

🟠

Likely Case

Unauthorized access to server files including configuration files, source code, and potentially sensitive customer data stored on the filesystem.

🟢

If Mitigated

Limited impact if XML parsing is disabled or properly configured to reject external entities.

🌐 Internet-Facing: HIGH - The vulnerable endpoint is part of an API that's typically internet-facing in e-commerce applications.
🏢 Internal Only: MEDIUM - Even internal-only deployments could be exploited by authenticated users or through other attack vectors.

🎯 Exploit Status

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

Public exploit details available in referenced blog posts. XXE attacks are well-documented and relatively easy to execute.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Later versions after 2.0.2.2 rev 10690

Vendor Advisory: Not available in provided references

Restart Required: No

Instructions:

1. Update to the latest version of modified eCommerce Shopsoftware. 2. Verify the api/it-recht-kanzlei/api-it-recht-kanzlei.php file has been patched. 3. Test the API endpoint with XXE payloads to confirm fix.

🔧 Temporary Workarounds

Disable vulnerable endpoint

linux

Temporarily disable or restrict access to the vulnerable API endpoint

mv /path/to/api/it-recht-kanzlei/api-it-recht-kanzlei.php /path/to/api/it-recht-kanzlei/api-it-recht-kanzlei.php.disabled
chmod 000 /path/to/api/it-recht-kanzlei/api-it-recht-kanzlei.php

Configure PHP to disable external entities

all

Modify PHP configuration to disable XML external entity processing

Add 'libxml_disable_entity_loader(true);' at the beginning of the vulnerable PHP file

🧯 If You Can't Patch

  • Implement WAF rules to block XXE patterns in API requests
  • Restrict network access to the vulnerable endpoint using firewall rules

🔍 How to Verify

Check if Vulnerable:

Test the endpoint with a simple XXE payload: curl -X POST 'http://target/api/it-recht-kanzlei/api-it-recht-kanzlei.php' --data '<?xml version="1.0"?><!DOCTYPE test [<!ENTITY xxe SYSTEM "file:///etc/passwd">]><test>&xxe;</test>'

Check Version:

Check the software version in admin panel or look for version files in installation directory

Verify Fix Applied:

Attempt the same XXE payload after patching - should return error or empty response instead of file contents

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to api/it-recht-kanzlei/api-it-recht-kanzlei.php with XML content
  • Error logs showing XML parsing failures with external entity references

Network Indicators:

  • HTTP POST requests containing XML with DOCTYPE declarations and SYSTEM entities
  • Unusual file read patterns from web server process

SIEM Query:

source="web_logs" AND uri="/api/it-recht-kanzlei/api-it-recht-kanzlei.php" AND (request_body CONTAINS "<!ENTITY" OR request_body CONTAINS "SYSTEM")

🔗 References

📤 Share & Export