CVE-2019-5918

9.1 CRITICAL

📋 TL;DR

CVE-2019-5918 is an XML External Entity (XXE) vulnerability in Nablarch 5 that allows remote attackers to read arbitrary files, conduct server-side request forgery (SSRF), or cause denial of service. This affects all Nablarch 5 versions from 5 through 5u13. Organizations using vulnerable Nablarch applications are at risk.

💻 Affected Systems

Products:
  • Nablarch
Versions: 5, 5u1 through 5u13
Operating Systems: All platforms running Java
Default Config Vulnerable: ⚠️ Yes
Notes: Affects applications using Nablarch's XML processing functionality. The vulnerability exists in the XML parser configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote attackers could read sensitive files (including configuration files with credentials), execute SSRF attacks to access internal systems, or cause denial of service through entity expansion attacks.

🟠

Likely Case

Attackers could read application configuration files, potentially exposing database credentials, API keys, or other sensitive information stored on the server.

🟢

If Mitigated

With proper XML parser configuration disabling external entities, the vulnerability would be neutralized with no impact.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

XXE vulnerabilities are well-understood attack vectors with standard exploitation patterns. The unspecified vectors likely involve XML input to vulnerable endpoints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5u14

Vendor Advisory: https://nablarch.atlassian.net/projects/NAB/issues/NAB-295

Restart Required: Yes

Instructions:

1. Upgrade Nablarch to version 5u14 or later. 2. Update application dependencies to use the patched version. 3. Restart the application server.

🔧 Temporary Workarounds

Configure XML parser to disable external entities

all

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

Set XML parser properties: FEATURE_SECURE_PROCESSING = true, DISALLOW_DOCTYPE_DECL = true, EXTERNAL_GENERAL_ENTITIES = false, EXTERNAL_PARAMETER_ENTITIES = false, LOAD_EXTERNAL_DTD = false

Input validation and filtering

all

Implement input validation to reject XML containing DOCTYPE declarations or external entity references

Implement XML schema validation or regex filtering for DOCTYPE and ENTITY declarations

🧯 If You Can't Patch

  • Implement network segmentation to restrict access to vulnerable applications
  • Deploy a web application firewall (WAF) with XXE protection rules

🔍 How to Verify

Check if Vulnerable:

Check Nablarch version in application dependencies/pom.xml. Versions 5 through 5u13 are vulnerable.

Check Version:

Check Maven/Gradle dependencies or application manifest for Nablarch version

Verify Fix Applied:

Verify Nablarch version is 5u14 or later and test XML endpoints with XXE payloads to confirm they're rejected.

📡 Detection & Monitoring

Log Indicators:

  • XML parsing errors mentioning external entities
  • Unexpected file read operations from XML processing
  • Outbound HTTP requests from XML parser

Network Indicators:

  • XML payloads containing DOCTYPE or ENTITY declarations
  • Requests to internal resources from application server

SIEM Query:

Search for XML content containing 'DOCTYPE' or 'ENTITY' in HTTP requests to application endpoints

🔗 References

📤 Share & Export