How to Prevent XML External Entity Injection on TransformerFactory

后端 未结 2 1036
醉梦人生
醉梦人生 2021-02-04 17:40

My problem:

Fortify 4.2.1 is marking below code as susceptible for XML External Entities attack.

TransformerFactory factory = Transform         


        
2条回答
  •  眼角桃花
    2021-02-04 18:07

    TransformerFactory trfactory = TransformerFactory.newInstance();
    trfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
    trfactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
    trfactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
    

    I think this would be sufficient.

    Fortify would suggest below features but those doesn't work for TransformerFactory

    factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
    factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
    

    We might need to change to a different parser to make use of them.

提交回复
热议问题