CVE-2026-23943CVE-2026-23943是Erlang OTP中SSH传输层的压缩炸弹漏洞。该漏洞存在于ssh_transport模块中,由于SSH传输层默认启用遗留的zlib压缩算法,且在认证前对攻击者控制的压缩载荷进行解压时没有设置任何大小限制,导致攻击者可以利用极小的压缩数据(256KB)解压出巨大的数据量(约255MB),实现1029:1的放大攻击比。通过发送多个恶意压缩的SSH数据包,攻击者可以快速耗尽目标服务器的可用内存,在内存受限环境中引发OOM(内存耗尽)杀死进程,最终导致拒绝服务。攻击者无需认证即可利用zlib压缩算法发起攻击。
漏洞根源在于Erlang OTP的SSH传输层实现中,ssh_transport:decompress/2函数在处理zlib压缩数据时缺少边界检查。当SSH连接建立时,服务器默认会协商使用zlib压缩算法。攻击者可以在密钥交换完成后、认证完成前,发送经过精心构造的极小压缩数据块。由于没有解压大小限制,每个SSH数据包可以解压出约255MB的原始数据。攻击者可以连续发送多个这样的数据包,在短时间内使服务器内存急剧增长。以1029:1的放大比计算,攻击者只需发送约256KB的压缩数据即可解压出约255MB的明文数据。这种资源耗尽攻击对于内存受限的嵌入式系统或容器环境尤为有效。