支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:736

73.6%
一、 漏洞 CVE-2025-68949 基础信息
漏洞信息
                                        # n8n Webhook节点IP白名单绕过漏洞

## 概述
n8n 是一个开源工作流自动化平台。在版本 1.36.0 至 2.2.0 之前,Webhook 节点的 IP 白名单验证采用部分字符串匹配,而非精确 IP 比较,导致安全性被削弱。

## 影响版本
受影响版本:从 1.36.0 到 2.2.0 之前(不含 2.2.0)  
已修复版本:2.2.0

## 细节
Webhook 节点在验证请求来源 IP 是否在白名单中时,仅执行了子字符串匹配。例如,若白名单中配置了 `192.168.1.1`,则源 IP 为 `192.168.1.100` 或 `192.168.1.10` 的请求也会被接受。该问题同时影响 IPv4 和 IPv6 地址。

## 影响
攻击者若其 IP 地址与白名单中的某个条目存在前缀或子串匹配,即可绕过 IP 白名单限制,访问受保护的 Webhook。这破坏了依赖 IP 访问控制的安全机制,可能导致未授权访问。
                                        
神龙判断

是否为 Web 类漏洞: 未知

判断理由:

N/A
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
n8n has a Webhook Node IP Whitelist Bypass via Partial String Matching
来源:美国国家漏洞数据库 NVD
漏洞描述信息
n8n is an open source workflow automation platform. From 1.36.0 to before 2.2.0, the Webhook node’s IP whitelist validation performed partial string matching instead of exact IP comparison. As a result, an incoming request could be accepted if the source IP address merely contained the configured whitelist entry as a substring. This issue affected instances where workflow editors relied on IP-based access controls to restrict webhook access. Both IPv4 and IPv6 addresses were impacted. An attacker with a non-whitelisted IP could bypass restrictions if their IP shared a partial prefix with a trusted address, undermining the intended security boundary. This vulnerability is fixed in 2.2.0.
来源:美国国家漏洞数据库 NVD
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
来源:美国国家漏洞数据库 NVD
漏洞类别
使用外部控制的格式字符串
来源:美国国家漏洞数据库 NVD
漏洞标题
n8n 访问控制错误漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
n8n是n8n开源的一个可扩展的工作流自动化工具。 n8n 1.36.0版本至2.2.0之前版本存在访问控制错误漏洞,该漏洞源于Webhook节点的IP白名单验证执行部分字符串匹配而非精确IP比较,可能导致安全绕过。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
授权问题
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2025-68949 的公开POC
#POC 描述源链接神龙链接
三、漏洞 CVE-2025-68949 的情报信息
  • 标题: fix(Webhook Node): Use CIDR matching for IP whitelist check by mfsiega · Pull Request #23399 · n8n-io/n8n · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            - **漏洞类型**: 漏洞类型是 Webhook 节点的安全性问题,具体涉及IP白名单检查。
    - **漏洞描述**: 
        - 原始代码使用了简单的字符串匹配来进行IP白名单检查,这可能导致IP地址验证不准确或过于宽松。
        - 更改为使用CIDR(无类别域间路由)匹配,以提高IP地址验证的准确性和安全性。
    - **相关问题/讨论**:
        - 参考了与Linear ticket相关的GitHub问题和社区论坛帖子,确保与其他问题的关联性和一致性。
        - 对合并前后的部分代码进行了详细的审查和讨论。
    - **修复措施**:
        - 使用更精确的CIDR匹配来替代原有的简单字符串匹配。
        - 代码审查过程中,提出了针对AI代理的提示,以改进对CIDR块的处理方式。
        - 优化了IP白名单检查逻辑,避免了不必要的迭代并提高了性能。
    - **影响版本**:
        - 该修复被包含在项目 n8n 2.2.0 版本中发布。
    - **讨论的参与者**:
        - 主要贡献者 mfsiega 和审阅者 tom 和 cubic-dev-ai 对此进行了广泛的讨论和代码审查。
                                            
    fix(Webhook Node): Use CIDR matching for IP whitelist check by mfsiega · Pull Request #23399 · n8n-io/n8n · GitHub
  • 标题: fix(Webhook Node): Use CIDR matching for IP whitelist check by mfsiega · Pull Request #23399 · n8n-io/n8n · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ## 漏洞关键信息总结
    
    **漏洞描述**
    - **漏洞类型**: IP Whitelist Check Vulnerability
    - **修复措施**: 使用CIDR匹配进行IP白名单检查,而非简单的字符串匹配。
    
    **相关链接和讨论**
    - **相关Issue**: [Webhook Node - Use CIDR matching for IP whitelist check](https://linear.app/n8n/issue/CAT-1846)
    
    **代码变更和讨论**
    - 提议从简单的字符串匹配更改为CIDR匹配,以增强IP白名单的检查。
    - 在处理IP地址时,CIDR表示法如“192.168.0.0/24”将引发错误并被静默忽略。建议使用`addSubnet`方法以解析CIDR表示法。
    
    **代码审查**
    - 代码变更通过了代码覆盖率检查,自动化测试通过。
    - 审查中提出一个简化IP白名单迭代的建议,被采纳并简化。
    
    **发布**
    - **发布版本**: n8n@2.2.0
                                            
    fix(Webhook Node): Use CIDR matching for IP whitelist check by mfsiega · Pull Request #23399 · n8n-io/n8n · GitHub
  • 标题: IP Whitelist Bypass via Partial String Matching · Advisory · n8n-io/n8n · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ### 关键信息总结
    
    #### 漏洞描述:
    - **漏洞名称**: IP Whitelist Bypass via Partial String Matching
    - **包**: n8n (npm)
    - **受影响版本**: >= 1.36.0
    - **修复版本**: 2.2.0
    
    #### 影响:
    - Webhook节点的IP白名单验证仅进行部分字符串匹配而非精确IP比较,导致含有白名单条目子字符串的源IP地址的请求被接受。这影响了依赖IP访问控制限制webhook访问的工作流实例,攻击者可以利用部分前缀与信任地址相同的非白名单IP绕过限制,破坏安全边界。IPv4和IPv6地址均受影响。
    
    #### 修复措施:
    - 已在2.2.0版本修复,建议用户升级到此版本或更高版本,以实现严格的IP比较逻辑。
    
    #### 绕过建议:
    - 无法立即升级的用户应避免仅依赖IP白名单保护webhook,推荐措施包括:
      - 添加共享密钥、HMAC签名或API密钥等认证机制。
      - 避免使用短或前缀基础的白名单条目。
      - 在网络层强制IP过滤(如使用反向代理或防火墙)。
    
    #### 其他信息:
    - **严重性**: 中等,CVSS v3基础指标为5.3/10。
    - **CVE ID**: CVE-2025-68949
    - **漏洞类型**: CWE-183 和 CWE-284
    - **报告人**: berkdedekarginoglu
                                            
    IP Whitelist Bypass via Partial String Matching · Advisory · n8n-io/n8n · GitHub
  • 标题: fix(Webhook Node): Use CIDR matching for IP whitelist check (#23399) · n8n-io/n8n@11f8597 · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ### 关键信息
    
    - **漏洞类型**: Webhook节点的IP白名单检查方法存在问题。
    - **解决方法**: 使用CIDR(Classless Inter-Domain Routing)匹配来确定IP地址是否在白名单中。
    - **代码变更**:
      - 文件 `packages/nodes-base/nodes/Webhook/utils.test.ts` 和 `packages/nodes-base/nodes/Webhook/utils.ts` 进行了修改。
      - 测试用例 `it('CAT-1846: should use CIDR matching to determine if ip is in the whitelist', ...)` 被添加。
      - 添加了新的白名单IP校验逻辑,使用了新的 `BlockList` 和 `allowList` 变量。
    - **相关Issue**: #23399
    - **提交作者**: mfsiega
    - **提交时间**: 最近一个月内
    - **提交验证**: 已验证
    
    ### 建议
    
    应该进一步检查 `BlockList` 和 `allowList` 的处理逻辑,确保在所有情况下都能正确地进行CIDR匹配和验证。同时,确认更新后的代码在整个系统中的兼容性和性能表现。
                                            
    fix(Webhook Node): Use CIDR matching for IP whitelist check (#23399) · n8n-io/n8n@11f8597 · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2025-68949
四、漏洞 CVE-2025-68949 的评论

暂无评论


发表评论