CVE-2019-12154

9.1 CRITICAL

📋 TL;DR

This XXE vulnerability in PDFreactor's XML parser allows attackers to inject malicious XML content through external references, potentially reading local files or causing denial of service. It affects all PDFreactor users running versions before 10.1.10722. Attackers can exploit this to access sensitive system files or crash the service.

💻 Affected Systems

Products:
  • RealObjects PDFreactor
Versions: All versions before 10.1.10722
Operating Systems: All platforms running PDFreactor
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in the XML parser library when processing external references. Any PDFreactor instance processing untrusted XML input is vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise via sensitive file disclosure (including credentials, configuration files) leading to lateral movement and data exfiltration, plus service disruption.

🟠

Likely Case

Local file disclosure of accessible files (web server files, configuration) and potential denial of service through resource exhaustion.

🟢

If Mitigated

Limited impact with proper network segmentation, file permissions, and input validation blocking external entity references.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Public technical details and proof-of-concept available in security advisories. Exploitation requires sending malicious XML to PDFreactor's XML processing functionality.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 10.1.10722

Vendor Advisory: https://www.pdfreactor.com/important-pdfreactor-security-advisory/

Restart Required: Yes

Instructions:

1. Download PDFreactor version 10.1.10722 or later from vendor website. 2. Stop PDFreactor service. 3. Backup configuration and data. 4. Install updated version. 5. Restart PDFreactor service. 6. Verify functionality.

🔧 Temporary Workarounds

Disable External Entity Processing

all

Configure XML parser to disable external entity resolution and DTD processing

Set PDFreactor configuration: xmlParserFeatures = "http://apache.org/xml/features/disallow-doctype-decl"
Set PDFreactor configuration: xmlParserProperties = {"http://apache.org/xml/properties/security-manager": ""}

Input Validation Filtering

all

Implement XML input validation to reject or sanitize external entity references

Implement pre-processing filter to remove DOCTYPE declarations and external entity references from XML input

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate PDFreactor from sensitive internal systems and the internet
  • Deploy web application firewall (WAF) with XXE protection rules to filter malicious XML payloads

🔍 How to Verify

Check if Vulnerable:

Check PDFreactor version via admin interface or configuration files. If version is below 10.1.10722, system is vulnerable.

Check Version:

Check PDFreactor configuration file or admin interface for version information

Verify Fix Applied:

Confirm version is 10.1.10722 or higher. Test with safe XXE payload to verify external entity processing is disabled.

📡 Detection & Monitoring

Log Indicators:

  • Unusual XML parsing errors
  • Multiple failed XML processing attempts
  • External entity resolution attempts in logs
  • File access patterns from PDFreactor process

Network Indicators:

  • XML payloads containing DOCTYPE declarations
  • External entity references in XML traffic to PDFreactor
  • Unusual outbound connections from PDFreactor to internal systems

SIEM Query:

source="pdfreactor" AND (message="*DOCTYPE*" OR message="*ENTITY*" OR message="*external*" OR error="*XML*" OR error="*parse*")

🔗 References

📤 Share & Export