GitHub Advisoryadvisory · Maven

GHSA-wc9j-gc65-3cm7 DDFFileParser is vulnerable to XXE Attacks

MEDIUM Published 2023-08-31 Modified 2023-08-31 Official page ↗
Aliases
CVE-2023-41034
Ecosystem
Maven
Packages
org.eclipse.leshan:leshan-core
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
Weaknesses
CWE-611
Reviewed
2023-08-31

Affected packages

• Maven org.eclipse.leshan:leshan-core: < 1.5.0 → fixed in 1.5.0 • Maven org.eclipse.leshan:leshan-core: >= 2.0.0-M1, < 2.0.0-M13 → fixed in 2.0.0-M13

Description

Impact `DDFFileParser` and `DefaultDDFFileValidator` (and so `ObjectLoader`) are vulnerable to XXE Attacks_Processing). DDF file is a LWM2M format used to store LWM2M object description. Leshan users are impacted only if they parse untrusted DDF files (e.g. if they let external users provide their own model), in that case they MUST upgrade to fixed version. If you parse only trusted DDF file and validate only with trusted xml schema, upgrading is not mandatory. Patches This is fixed in v1.5.0 and 2.0.0-M13. Workarounds No easy way. Eventually writing your own `DDFFileParser`/`DefaultDDFFileValidator` (and so `ObjectLoader`) creating a `DocumentBuilderFactory` with : ```java // For DDFFileParser DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); // Disable DTDs factory.setXIncludeAware(false); // Disable XML Inclusions factory.setExpandEntityReferences(false); // disable expand entity reference nodes // For DefaultDDFFileValidator SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); factory.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, ""); factory.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, ""); ``` References • https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing • https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html • https://semgrep.dev/docs/cheat-sheets/java-xxe/ • https://community.veracode.com/s/article/Java-Remediation-Guidance-for-XXE

Related

Alias · CVE (1)

  • CVE-2023-41034 Eclipse Leshan is a device management server and client Java implementation. vulnerability

Weakness · CWE (1)

  • CWE-611 Improper Restriction of XML External Entity Reference weakness

References