CVE-2026-9563CVE-2026-9563是Eclipse Parsson(一个用于JSON处理的Java库)中的一个高危拒绝服务漏洞。该漏洞影响发布到Maven Central的Eclipse Parsson 1.1.8之前的所有版本。Eclipse Parsson是Eclipse EE4J项目的一部分,提供了JSON-P(JSR-374)规范的参考实现,广泛用于Java应用程序中的JSON解析和生成。
漏洞的根本原因在于JSON解析器在解析单个JSON文档时,没有对解析器所消耗的字符数量设置默认的最大限制。攻击者可以通过向应用程序发送特制的、非常大的JSON文档来利用此漏洞。这些文档可以包含大型数组、对象、字符串、数字、空白字符或深层嵌套结构。当应用程序解析这些攻击者控制的JSON数据时,会被迫消耗过多的CPU和内存资源,从而导致应用程序性能严重下降甚至完全不可用,造成拒绝服务攻击。
该漏洞的CVSS评分为7.5,属于高危级别。其攻击向量为网络(AV:N),无需认证(PR:N),无需用户交互(UI:N),机密性影响为低(C:L),完整性影响为无(I:N),可用性影响为高(A:H)。这意味着该漏洞可以通过网络远程利用,且不需要任何身份验证或用户交互即可触发,对系统的可用性造成严重影响。Eclipse Parsson 1.1.8版本通过引入可配置的最大解析限制(默认限制为1500万解析器消耗字符)修复了此漏洞。
Eclipse Parsson作为Java EE中JSON处理(JSR-374)的参考实现,其JSON解析器在1.1.8版本之前缺少对单个JSON文档解析过程中字符消耗总量的默认上限控制机制。这一设计缺陷使得解析器在面对恶意构造的超大JSON文档时,无法及时终止解析过程。
从技术层面分析,攻击者可以利用多种JSON结构特征来放大资源消耗:1)创建包含数百万个元素的超大型数组;2)构造具有极深层级嵌套的对象结构,导致递归调用栈溢出或大量内存分配;3)使用超长字符串值(如包含数十亿字符的字符串);4)利用超长数字字面量(如包含数百万位精度的数字);5)插入大量空白字符以增加解析器需要扫描的字符总数。这些方式中的任何一种都可以单独或组合使用,迫使解析器消耗远超正常水平的CPU时间和堆内存。
利用方式方面,攻击者只需向使用受影响版本Eclipse Parsson的应用程序发送一个精心构造的大型JSON负载即可触发漏洞。由于攻击向量为网络且无需认证,任何能够向目标应用程序提交JSON数据的接口(如REST API接收端点、消息队列消费者、配置文件加载器等)都可能被利用。修复方案是在解析器中实现最大字符消耗限制检查,默认值为1500万字符,同时允许通过配置参数进行调整,以平衡安全性和功能性需求。