CVE-2026-33013Micronaut Framework是一款基于JVM的全栈Java框架。在特定版本中,该框架在处理表单URL编码正文绑定时,未能正确处理降序数组索引顺序。远程攻击者可通过发送精心构造的索引表单参数(如先发送authors[1].name再发送authors[0].name),触发应用程序内部的非终止循环。这将导致服务器CPU资源耗尽及内存溢出错误,从而引发拒绝服务,严重影响系统可用性。
该漏洞位于Micronaut Framework的`JsonBeanPropertyBinder::expandArrayToThreshold`组件中。其根本原因是框架在解析表单URL编码数据并绑定到Java Bean时,缺乏对数组索引顺序的鲁棒性检查。正常情况下,数组索引通常是递增的,但代码逻辑未妥善处理降序排列的索引。当攻击者发送包含降序索引的恶意请求时,例如先提交索引为1的参数(如`authors[1].name`),紧接着提交索引为0的参数(如`authors[0].name`),绑定逻辑会陷入非终止循环。这种逻辑错误会导致处理器无法跳出当前的扩展阈值检查,持续消耗CPU计算周期,并不断堆叠内存对象,直至触发OutOfMemoryError。由于无需用户交互和身份认证,攻击者可轻易利用此漏洞导致服务崩溃,严重影响目标系统的可用性。