
Erlang/OTP官方安全团队近期披露了一组严重的安全缺陷涉及运行时环境及其TLS协议栈。这次一口气爆出了五个CVE编号其中四个被评为高危一个直接冲到了危急级别。最要命的是攻击者甚至不需要任何账号密码就能从网络侧直接搞垮你的服务——这在生产环境里简直是噩梦。当TLS信任链被击穿中间人攻击变得轻而易举这次漏洞清单里最扎眼的是CVE-2026-55953CVSSv4评分高达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.11ERTS修复到了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安全更新排进本周的优先事项清单可能是这个夏天最划算的一笔技术债偿还。