CVE-2026-33241Salvo是一个Rust Web框架。在0.89.3版本之前,其表单数据解析实现(form_data()方法和Extractible宏)在读取请求体到内存前,未强制执行载荷大小限制。攻击者可利用此缺陷发送极其巨大的恶意数据包,导致服务器内存耗尽(OOM),进而引发服务崩溃和拒绝服务。
该漏洞的根源在于Salvo框架底层处理表单解析时的逻辑缺陷。在受影响版本中,`form_data()`方法以及`Extractible`宏在解析HTTP请求体时,直接将数据流读取到内存缓冲区中,而缺乏对输入数据大小的预检查或硬性上限限制。攻击者无需身份认证即可向服务器端点发送特制的恶意HTTP请求,例如包含超大字段的Multipart form data或URL编码表单。当服务器尝试解析这些超出常规大小的数据时,会尝试分配大量内存资源,导致内存耗尽(OOM)。这不仅会触发操作系统的OOM Killer强制终止应用进程,还会导致合法用户的请求无法得到响应,从而实现远程拒绝服务攻击。