SOC Prime Bias: High

26 Oct 2026 16:41 UTC

CVE-2026-111497:Node.js Brotli 解码器中的严重 Node2Shell 漏洞

Author Photo
SOC Prime Team linkedin icon 关注
CVE-2026-111497:Node.js Brotli 解码器中的严重 Node2Shell 漏洞
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

摘要

Node2Shell 是一个严重漏洞 (CVE-2026-111497),影响了与 Node.js 捆绑的 Brotli 解码器,由于越界写导致。攻击者可以通过向处理 Brotli 数据的服务提供格式错误的压缩流来利用此缺陷,可能导致服务拒绝、内存泄露或远程代码执行。该漏洞特别对使用 Express 5 或自动执行 Brotli 解压的中间件的服务构成风险。

调查

Sysdig 威胁研究团队分析了该漏洞,并报告称在补丁发布后的几小时内就出现了一个公开的 PoC。Imperva 和 Vercel 的研究表明,在包括 Linux arm64 在内的特定架构上可能实现代码执行。调查显示,可利用性取决于应用程序或其库(如 body-parser)是否处理攻击者控制的 Brotli 流。

缓解措施

主要的缓解措施是将 Node.js 升级到 22.23.4、24.22.1 或 26.12.1 版本,并将 Bun 更新到 1.4.4 或更高版本。组织还应在可行的情况下禁用请求解压缩,包括在 body-parser 中设置 inflate: false 。部署 WAF 规则以拒绝不受信任的 Content-Encoding: br 请求,并在非特权账户下运行服务,以提供额外的防御层。

响应

如果检测到潜在的利用链,例如 Node.js 进程崩溃随后出现意外程序执行,安全团队应立即隔离受影响的工作负载。监控后台利用行为,包括交互式 shell、未经授权的恶意软件下载、加密挖矿或秘密与云令牌的盗窃。对所有可达到的易受攻击服务进行补丁仍应是最高优先事项。

攻击流程

我们仍在更新这一部分。

检测

可疑的 NodeJS 子进程 [Windows] (通过 cmdline)

SOC Prime 团队
2026年10月25日

通过 Web 服务器 [Linux] 的可疑 Shell (通过 process_creation)

SOC Prime 团队
2026年10月25日

可疑的 NodeJS 子进程 [Linux] (通过 cmdline)

SOC Prime 团队
2026年10月25日

Node.js 进程崩溃后随即进行就地程序执行的检测 – Node2Shell 利用 [Linux 进程创建]

SOC Prime AI 规则
2026年10月25日

模拟执行

  • 攻击叙述 & 命令: 对手针对运行 Node.js 的 Web 应用程序。他们发送一个恶意的 Brotli 压缩负载,触发内存损坏错误,导致 node 进程崩溃。紧接着崩溃,攻击者利用劫持的执行流生成一个 /bin/bash shell 以建立持久性并开始本地侦察。这一事件序列由 node 事件后跟 /bin/bash 执行,旨在匹配 selection_crash and selection_suspicious_exec 检测规则的逻辑。

  • 回归测试脚本:

    #!/bin/bash
    # 模拟 Node2Shell 风格的利用模式
    
    echo "[+] 正在启动 Node2Shell 模拟..."
    
    # 1. 模拟一个出现'崩溃'或被突然终止的 Node.js 进程
    # 真实场景中,这是一次崩溃。这里我们模拟节点进程被调用/处理中断的遥测数据。
    node -e "process.exit(1)"
    echo "[+] Node.js 进程'崩溃' (退出代码 1)。"
    
    # 2. 模拟可疑 shell 的即时执行
    # 这模仿崩溃后负载触发 shell。
    /bin/bash -c "echo '利用成功:已生成 Shell'"
    
    echo "[+] 模拟完成。检查 SIEM 以进行检测。"
  • 清理命令:

    # 本次模拟未创建持久文件。
    # 只需确保没有流氓的 bash 进程正在运行。
    pkill -f "利用成功"