漏洞总结 漏洞概述 该提交修复了 Erlang/OTP 内核网络模块(如 , , 等)中的一个类型定义缺陷。在之前的版本中,这些模块中 函数(如 , 等)的 参数类型规范(Type Spec)被严格限制为 ,这排除了端口号 。在 Erlang/OTP 系统中,端口号 是一个特殊的内部特性,用于指示系统随机分配一个端口(Randomize bind port)。由于类型定义的严格限制,导致依赖随机端口绑定的网络功能(如 DNS 查询、动态端口分配)无法正常工作或引发异常。 影响范围 受影响的模块包括: 任何使用这些模块进行 UDP 或 SCTP 套接字操作,且依赖随机端口绑定(Random Port Binding)的应用程序均可能受到影响。 修复方案 通过修改相关模块中函数的类型规范(Type Specs),允许 参数接受 值。具体修改包括: 1. 在 , , , 的 函数定义中,将 的类型从 修改为 (或 )。 2. 在 的 函数中增加了对 端口的处理逻辑,确保在随机端口绑定场景下能正确调用底层系统调用。 3. 在 中移除了对 端口值的抑制(suppress),允许其通过类型检查。