Erlang/OTP曝五大高危漏洞:TLS证书验证可被完全绕过,RabbitMQ等核心服务面临风险
Erlang/OTP官方安全团队近期披露了一组严重的安全缺陷,涉及运行时环境及其TLS协议栈。这次一口气爆出了五个CVE编号,其中四个被评为高危,一个直接冲到了危急级别。最要命的是,攻击者甚至不需要任何账号密码,就能从网络侧直接搞垮你的服务——这在生产环境里简直是噩梦。
当TLS信任链被击穿,中间人攻击变得轻而易举
这次漏洞清单里最扎眼的是CVE-2026-55953,CVSSv4评分高达9.1。问题出在TLS 1.2和DTLS客户端的实现逻辑上:当服务器端协商密码套件时,客户端压根没去确认这个套件是不是真的在本地可用。这就给中间人攻击开了后门——攻击者可以强行把连接降级到匿名密码套件,而匿名套件是不需要服务器证书的。一旦得逞,后续所有流量对攻击者来说都是明文,想读就读,想改就改。
值得庆幸的是,TLS 1.3不受这个漏洞影响。所以如果你现在的服务已经全面切到TLS 1.3,那这条攻击路径对你基本无效。但现实中大量遗留系统还在跑TLS 1.2,这部分用户的风险敞口非常大。
不需要登录就能让整台服务器崩溃
除了证书绕过,还有四个漏洞专攻拒绝服务,而且都不需要身份验证。
CVE-2026-54890藏在BEAM虚拟机的binary_to_term函数里。攻击者只需要构造一个极小的恶意数据项发过去,就能触发整数下溢,直接导致整个虚拟机宕机。更麻烦的是,Erlang的监管树(supervisor)机制在这里完全派不上用场,就算你启用了[safe]选项也挡不住。这意味着一个精心设计的网络包就能让RabbitMQ节点、Elixir应用或者其他基于BEAM的服务瞬间消失。
CVE-2026-58227走的是另一条路。它利用交叉签名证书链在验证时的无限递归,把CPU和栈资源吃干抹净。这个漏洞从OTP 23.2就开始存在了,说明证书链处理这块代码的边界情况一直没人仔细梳理。
CVE-2026-59251的手法和OpenSSL之前爆出的CVE-2023-0464有几分相似。它通过指数级膨胀证书策略树来拖垮系统,内存和CPU会被迅速耗尽。而CVE-2026-59250则瞄准了Megaco协议的flex扫描器,过大的属性参数名会造成缓冲区溢出。在老版本里如果编译时没有启用FORTIFY保护,这个溢出还可能被利用来执行任意代码。
为什么这些漏洞值得全网警惕
Erlang/OTP从来都不是小众玩具。它支撑着全球无数消息队列、分布式数据库和电信核心网。RabbitMQ几乎成了现代微服务架构的标配,而RabbitMQ就重度依赖Erlang运行时。一旦底层Erlang/OTP出现安全漏洞,上层所有依赖它的业务都会跟着暴露在风险中。
加拿大网络安全中心等机构已经公开发布警告,敦促管理员尽快完成Erlang版本更新。这种来自国家级安全机构的施压,本身就说明了Erlang运行时在关键基础设施中的分量有多重。
受影响版本跨度极大,从OTP 17到最新版都有波及
这次漏洞的覆盖范围相当广。TLS相关的问题可以追溯到OTP 17时代,证书链递归漏洞从OTP 23.2开始存在,而BEAM虚拟机崩溃则影响OTP 27及更高版本。换句话说,不管你跑的是老古董还是最新发行版,大概率都至少踩中了一个坑。
具体来说,Erlang/OTP已经发布了修复版本:27.3.4.15、28.5.0.4和29.0.4。同时,处于维护期的旧版本如15.x和16.x也获得了相应的安全补丁。各个应用模块的修复版本略有不同,比如SSL应用修复到了11.7.4、11.6.0.4和11.2.12.11,ERTS修复到了15.2.7.11、16.4.0.4和17.0.4。
临时缓解措施与长期修复建议
升级当然是最稳妥的出路。如果短期内没法动生产环境,也有几条权宜之计可以参考。
对于TLS证书绕过问题,最直接的办法就是把所有对外连接强制升级到TLS 1.3。这不仅能规避CVE-2026-55953,还能顺带解决TLS 1.2时代遗留的不少密码学弱点。如果你的业务场景允许,这个切换的性价比非常高。
针对BEAM虚拟机崩溃漏洞,建议立刻审查代码里所有调用binary_to_term的地方。凡是处理不可信网络输入的,都应该替换成JSON、Protocol Buffers这类更安全的序列化格式。Erlang自带的binary_to_term虽然方便,但面对恶意输入时确实太脆弱了。
Megaco扫描器的问题可以通过把flex扫描器切回Erlang原生扫描器来解决,同时把相关传输端口严格限制在防火墙后面。好消息是,目前安全社区还没有发现公开的漏洞利用代码,也没有确认任何实际攻击事件。但这不代表可以拖着不修——漏洞细节已经公开,利用代码随时可能出现。
写在最后
Erlang/OTP作为高并发、高可用系统的基石,其安全性直接关系到无数生产服务的稳定。这次五个漏洞中有四个无需认证即可触发,其中一个还能彻底瓦解TLS的信任根基,风险等级已经拉满。对于运维团队来说,把Erlang/OTP安全更新排进本周的优先事项清单,可能是这个夏天最划算的一笔技术债偿还。