修复javax.xml.parsers.DocumentBuilderFactory';Android中Veracode扫描标记的s XXE缺陷(CWE ID 611)

修复javax.xml.parsers.DocumentBuilderFactory';Android中Veracode扫描标记的s XXE缺陷(CWE ID 611),android,xml,docx,veracode,Android,Xml,Docx,Veracode,我们的Android应用程序中使用javax.xml.parsers.DocumentBuilderFactory来解析和读取xml,以及修改和写入xml文件。Veracode将javax.xml.parsers.DocumentBuilderFactory的使用标记为CWE ID 611“不正确的xml外部实体引用限制”。建议的补救措施是“将XML解析器配置为禁用外部实体解析”。OWASP文档提到了几个可以在工厂中使用setFeature方法设置的功能。但是,问题是此修复程序引发了“javax

我们的Android应用程序中使用javax.xml.parsers.DocumentBuilderFactory来解析和读取xml,以及修改和写入xml文件。Veracode将javax.xml.parsers.DocumentBuilderFactory的使用标记为CWE ID 611“不正确的xml外部实体引用限制”。建议的补救措施是“将XML解析器配置为禁用外部实体解析”。OWASP文档提到了几个可以在工厂中使用setFeature方法设置的功能。但是,问题是此修复程序引发了“javax.xml.parsers.ParserConfigurationException:”。原因是,当调用工厂的newInstance()方法时,Android实现返回“org.apache.harmony.xml.parsers.DocumentBuilderFactoryImpl”,并且此生成器类实现不支持OWASP推荐功能的setFeature

DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(xmlFile);
上面的代码将被标记。代码的功能是解析构成.docx文档的底层xml文件。我们可以将此代码的读取xml部分转换为使用Android推荐的XmlPullParser,但XmlPullParser不能用于修改这些xml文件,因为我们当前的代码使用DocumentBuilderFactory读取构成.docx文件的这些xml,并在导出docx文件时修改这些xml

我花了几天时间寻找可能的解决方案,但找不到任何有效的解决方案。对于我们如何解决此问题的任何帮助/建议,我们将不胜感激