Fix XML external entity vulnerability 07/122607/1
authorJonathan Platt <jonathan.platt@att.com>
Tue, 13 Jul 2021 15:27:33 +0000 (11:27 -0400)
committerJonathan Platt <jonathan.platt@att.com>
Tue, 13 Jul 2021 15:38:31 +0000 (11:38 -0400)
Disabled XML external entity references to resolve XML external entity
vulnerability. Also removed commented-out lines of code from previous
attempt to resolve XML external entity vulnerability.

Issue-ID: CCSDK-3321
Signed-off-by: Jonathan Platt <jonathan.platt@att.com>
Change-Id: Icb142cd1ace84c40d342ce0f08f418f43cc080e8

sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/file/PomFile.java

index 2e07012..c19cea0 100644 (file)
@@ -41,10 +41,8 @@ public class PomFile {
 
     public PomFile(InputStream is) throws ParserConfigurationException, SAXException, IOException {
         DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-        //             documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-        //             documentBuilderFactory.setFeature(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);
-        //             documentBuilderFactory.setFeature(XMLInputFactory.SUPPORT_DTD, false);
-
+        // Remediate XML external entity vulnerabilty - prohibit the use of all protocols by external entities:
+        documentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
         DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
         this.xmlDoc = documentBuilder.parse(is);
     }