Socks5ProxyAgent: SOCKS5 手shake/身份验证超时会泄露底层套接字
作者: andrewmbenton创建于 2026年8月19日更新于 2026年8月19日
标签bug
问题描述 Socks5ProxyAgent 的内部 SOCKS5 协商有两个 5 秒的超时 (等待身份验证响应和等待 CONNECT 回复,在 createSocks5Connection 中)。当其中一个触发时,代码拒绝连接承诺,但永远不会销毁底层套接字。由于套接字也从未交给源的 Pool (将其注册到池的 connect 回调从未到达),因此在之后完全不受跟踪 - agent.close() 和 agent.destroy() 只迭代 this[kPools] ,因此都无法到达它。
内容来源: nodejs/undici