CVE-2021-43142

9.8 CRITICAL

📋 TL;DR

This CVE describes an XML External Entity (XXE) vulnerability in wuta jox 1.16 that allows attackers to read arbitrary files from the server filesystem or conduct server-side request forgery (SSRF) attacks. The vulnerability exists in the readObject method of JOXSAXBeanInput and affects any application using this library to process untrusted XML data. Attackers can exploit this by submitting malicious XML documents containing external entity references.

💻 Affected Systems

Products:
  • wuta jox
Versions: 1.16
Operating Systems: All platforms running Java applications using this library
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects applications that use JOXSAXBeanInput to parse XML from untrusted sources. Applications not using this specific component are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise through file disclosure of sensitive files (passwords, keys, configuration), SSRF attacks against internal services, or potential remote code execution via XXE-based attacks.

🟠

Likely Case

Arbitrary file read from the server filesystem, disclosure of sensitive configuration files, and potential SSRF attacks against internal network services.

🟢

If Mitigated

Limited impact if XML parsing is restricted to trusted sources only, with proper input validation and XML parser security configurations in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

XXE vulnerabilities are well-understood with established exploitation patterns. The vulnerability requires the application to process XML input from attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not specified in available references

Vendor Advisory: No official vendor advisory found in provided references

Restart Required: No

Instructions:

1. Check if your application uses wuta jox 1.16
2. If vulnerable, consider migrating to alternative XML processing libraries with proper security configurations
3. Apply workarounds to disable XXE processing in XML parsers

🔧 Temporary Workarounds

Disable XXE in XML parser

all

Configure XML parser to disable external entity processing

// Java code example: set FEATURE_SECURE_PROCESSING to true on XML parser
// Set javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING = true

Input validation and filtering

all

Validate and sanitize XML input before processing

// Implement XML schema validation
// Filter or reject XML containing DOCTYPE declarations

🧯 If You Can't Patch

  • Implement network segmentation to isolate vulnerable systems from sensitive internal resources
  • Deploy web application firewall (WAF) with XXE protection rules to block malicious XML payloads

🔍 How to Verify

Check if Vulnerable:

Check if your Java application imports or uses classes from wuta jox library, specifically JOXSAXBeanInput. Review dependencies in pom.xml, build.gradle, or classpath.

Check Version:

Check dependency files: grep -r "jox" pom.xml build.gradle || find . -name "*.jar" | xargs -I {} sh -c 'jar tf {} | grep -i jox && echo Found in: {}'

Verify Fix Applied:

Test with XXE payloads to confirm file read attempts are blocked. Use security testing tools to validate XML parser configurations.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns from XML processing components
  • XML parsing errors containing file paths or network URLs
  • Large XML documents with DOCTYPE declarations

Network Indicators:

  • Outbound connections from application server to internal services triggered by XML processing
  • HTTP requests to file:// or other unusual URI schemes

SIEM Query:

source="application.logs" AND ("DOCTYPE" OR "ENTITY" OR "SYSTEM") AND ("file:" OR "http:" OR unusual_uri_pattern)

🔗 References

📤 Share & Export