CVE-2026-44375Nerdbank.MessagePack是一个NativeAOT兼容的序列化库。在1.1.62版本之前,其在DateTime解码过程中存在未受控制的栈分配漏洞。攻击者可构造恶意MessagePack载荷,声明超大时间戳扩展长度,迫使读取器在栈上分配攻击者控制大小的内存,从而触发不可捕获的StackOverflowException,导致进程终止。
该漏洞的根源在于Nerdbank.MessagePack库在解析MessagePack时间戳扩展格式时,未对载荷中声明的长度字段进行有效验证。当解析器处理DateTime对象时,它会读取时间戳扩展的长度值,并尝试在栈上分配相应大小的缓冲区。由于缺乏边界检查,攻击者可以发送一个包含极大长度值的恶意MessagePack数据包。这会导致程序尝试分配超过栈容量限制的内存,立即触发StackOverflowException。由于该异常属于栈耗尽错误,通常无法被应用程序的常规异常捕获机制处理,最终导致整个进程崩溃,造成拒绝服务。