目前我使用的是 Birt Report 运行时版本 4.4.2,它内部使用 iText 版本 - 2.1.7 我有 Birt 报告 .rptdesign 文件作为模板,并使用 Birt Report 运行时引擎动态创建/渲染 pdf,其中数据来自数据库,pdf 将在 Web 浏览器上呈现。
根据以下链接,iText 2.1.7版本中存在XXE漏洞
https://www.compass-security.com/fileadmin/Datein/Research/Advisories/CSNC-2017-017_itext_xml_external_entity_attack.txt
为了解决上述问题,我计划用OpenPDF jar替换iText 2.1.7 jar版本。 但看起来OpenPDF也使用类javax.xml.parsers.DocumentBuilderFactory,这反过来又会给XXE漏洞
任何人都可以在 openPDF 源代码中修复此漏洞并发布新版本吗?
以下是有用的链接,其中Apache PDF框修复了XXE漏洞
https://github.com/apache/pdfbox/commit/be36ef01842885b556a4e7b40b5e2e8e7b1d2816#diff-7865264c984db3c9a6ac8471b0a4d414
这在OpenPDF 1.0.5中得到了修复。因此,我建议使用iText 2.1.7的人升级到最新版本的OpenPDF。
https://github.com/LibrePDF/OpenPDF/releases/tag/1.0.5