Уязвимость XMLStreamReader / InputStream xxe, обнаруженная в отчете Checkmarx - PullRequest
0 голосов
/ 26 декабря 2018

Эти строки кода приводят к появлению уязвимости xxe в отчете Checkmarx:

InputStream is = connection.getInputStream();

XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader reader = factory.createXMLStreamReader(is);

Эта проблема гласит:

"Приложение отправляет запрос на удаленный сервер., для какого-то ресурса, используя createXMLStreamReader. Однако злоумышленник может контролировать цель запроса, отправив URL или другие данные в getInputStream. "

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 28 декабря 2018

Нашел ответ, который работал для меня здесь ;добавьте эти свойства в XMLInputFactory:

XMLInputFactory xif = XMLInputFactory.newFactory();

//prevents using external resources when parsing xml
xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false);

//prevents using external document type definition when parsing xml
xif.setProperty(XMLInputFactory.SUPPORT_DTD, false);
...