CVE-2026-21636CVE-2026-21636是Node.js权限模型中的一个严重安全漏洞。当Node.js使用--permission标志启用权限模型时,Unix Domain Socket(UDS)连接可以绕过网络限制,导致安全边界被破坏。攻击者可以通过net、tls或undici/fetch等模块,利用socketPath选项连接到任意本地socket,即使未启用--allow-net选项。此漏洞影响Node.js v25版本,可能导致攻击者访问特权本地服务、进行权限提升、数据泄露或本地代码执行。CVSS评分达到10.0,属于严重级别,攻击复杂度低且无需认证或用户交互。
Node.js的权限模型旨在通过--permission标志提供细粒度的资源访问控制。然而,该模型在处理Unix Domain Socket连接时存在设计缺陷。当启用--permission时,系统会检查网络连接权限,但UDS连接被视为本地文件路径而非网络连接,导致权限检查被绕过。攻击者可以利用以下方式利用此漏洞:1)通过net.connect()的socketPath参数指定任意本地socket路径;2)通过tls模块连接本地服务;3)通过undici或fetch API使用file://协议访问UDS。漏洞的根本原因在于权限模型将UDS视为文件系统操作而非网络操作,从而绕过了--allow-net的限制。这允许攻击者访问如/var/run/docker.sock等特权socket,执行容器逃逸或获取敏感数据。