CVE-2026-5244Cesanta Mongoose 7.20及之前版本在处理TLS 1.3连接时存在严重的堆缓冲区溢出漏洞。该漏洞位于mongoose.c文件的mg_tls_recv_cert函数中,由于对pubkey参数缺乏有效验证,远程攻击者无需用户交互即可发送特制数据包触发溢出。成功利用可能导致信息泄露、数据篡改或服务中断,建议用户尽快升级。
该漏洞的根源在于Cesanta Mongoose库在实现TLS 1.3协议时的逻辑缺陷。具体而言,受影响组件为TLS 1.3 Handler中的mg_tls_recv_cert函数,该函数负责处理接收到的证书公钥信息。在处理过程中,代码未对传入的pubkey参数长度进行严格校验,直接将其拷贝到堆分配的缓冲区中。攻击者可以通过构造恶意的TLS握手消息,特别是修改证书相关的公钥数据,发送至运行vulnerable Mongoose的服务器。当服务器调用mg_tls_recv_cert解析该数据时,超长数据会覆盖相邻的堆内存区域,引发堆缓冲区溢出。由于CVSS向量为AV:N/AC:L/PR:N/UI:N,攻击复杂度低且无需权限,极易被远程利用,进而导致进程崩溃或潜在的任意代码执行。