Согласно CXF Security Advisory CVE-2010-2076 , атаки XXE должны быть смягчены в конфигурации по умолчанию CXF. Предполагается, что вы используете последнюю (или довольно свежую) версию CXF, и вы не установили системное свойство org.apache.cxf.stax.allowInsecureParser
, как указано в разделе Безопасность XML CXF doc . Библиотека синтаксического анализатора Woodstox должна находиться на вашем пути к классам, чтобы CXF выбрал ее по умолчанию как XMLInputFactory.
Вы также можете использовать пользовательский XMLInputFactory в соответствии с вашими потребностями (например, отключить другие функции синтаксического анализа для обеспечения безопасности), как указано в разделе 4.2 рекомендаций по безопасности, но в большинстве случаев это не требуется. Например,
<jaxrs:server id="myendpoint" address="/">
<jaxrs:properties>
<entry key="javax.xml.stream.XMLInputFactory">
<bean class="your.own.ParserFactory" factory-method="createFactory"/>
</entry>
</jaxrs:properties>
</jaxrs:server>
Затем, в своем собственном your.own.ParserFactory#createFactory()
, начните с:
XMLInputFactory factory = XMLInputFactory.newInstance();
и установите необходимые свойства на заводе, среди поддерживаемых Woodstox XMLInputFactory .