CVE-2026-31247Docling项目的JATS XML后端在处理XML文件时存在严重安全漏洞。该漏洞影响2.61.0及之前的版本,由于未正确配置XML解析器以禁用实体解析,攻击者可利用恶意的XML文件进行XML实体扩展攻击。这种“XML Bomb”会导致系统资源被过度消耗,最终使运行Docling解析器的服务陷入拒绝服务状态,严重影响系统可用性。
该漏洞的核心原因在于Docling的JATS XML后端使用了`etree.parse()`函数处理用户提供的XML文件时,未禁用外部实体或内部实体的解析功能。攻击者利用XML规范中的实体定义机制,构建一个包含递归或指数级嵌套实体的恶意XML文件(即“XML Bomb”)。例如,定义一个实体`&lol;`,它包含多个`&lol9;`,以此类推形成十层嵌套。当Docling尝试解析该文件时,解析器会展开所有实体,生成巨大的数据量(例如几GB的字符串)。这种指数级扩展会瞬间耗尽目标服务器的CPU计算能力和内存资源,导致进程挂起或崩溃,从而实现拒绝服务攻击,且无需用户交互或身份认证即可通过网络触发。