EEF-CVE-2026-54890 漏洞概述 漏洞类型: 整数下溢(Integer Underflow) 影响组件: Erlang/OTP 模块(erts modules) 漏洞描述: 在 模块中, 解码器接受带有长度和尾部位字段设置为零的编码。随后的位大小计算使用无符号整数进行下溢,产生一个大约 2^64 的值,该值随后被传递为内存分配大小。分配器中止整个运行,并显示消息 "Cannot allocate 2305843009213693951 bytes of memory (of type binary)"。 严重程度: 9.2 (High) 影响范围 受影响版本: OTP 27.0 之前到 OTP 29.0.4、OTP 28.5.0.4 和 OTP 27.3.4.15,对应于 erts 从 15.0 之前到 17.0.4、16.4.0.4 和 15.27.11。 影响描述: 崩溃是 VM 级别的,而不是 Erlang 级别的异常。它不能被监督树、try/catch 或通过传递 选项到 (仅限制原子创建且不执行二进制编码的结构验证)所拦截。任何解码来自不受信任源的二进制到 或 的应用程序都会受到影响。Erlang 分发协议也通过相同的代码路径解码传入的术语,但分发预计会在受信任的网络上运行,根据 OTP 安全编码指南 (DSC-011)。 修复方案 建议: 不要调用 或 来自不受信任源的数据。OTP 安全编码指南 (DSC-011) 建议避免将这些函数与不受信任的输入一起使用,并使用替代序列化格式(例如 JSON 或 Protocol Buffers)。