FlawOpen

flawopen.com/Teardowns/cve-2026-102255-sonicwall-sma1000-workplace-ssrf

● CVE-2026-102255 · CVSS 10.0[1] · 严重
安全研究 · FlawOpen

CVE-2026-102255:SonicWall SMA1000 WorkPlace 的 SSRF 漏洞

CVE-2026-102255 是 SonicWall SMA1000 WorkPlace 中 CVSS 10.0 的预认证 SSRF。10月12日,MS-ISAC 表示当时没有这份公告所列四个漏洞遭到现实环境利用的报告。公告还指出,如果该 SSRF 与 CVE-2026-102256(另一项需要已认证管理员权限的命令注入漏洞)形成链条,可能导致远程代码执行。公告没有说明链条机制或如何满足认证条件;这是有条件的风险评估,并非已证实的攻击链。10月9日曾有与 CVE-2026-102255 相符的蜜罐尝试报告,但未证实成功入侵。请升级到修复版平台热修复程序。[1], [2], [3], [4], [5], [6]

💡 通俗易懂的原理解析 (ELI5)

把设备想成一位可以在房间之间传递消息的前台接待员。这个缺陷让陌生人能让接待员把消息送进本应先验证身份才能进入的房间。SonicWall 已修复这条路径;公开公告没有披露内部路由或源码补丁。[1]

核心概念与专有名词

服务器端请求伪造(SSRF)
攻击者诱使服务器发出由不可信调用方选择的请求。SonicWall 称设备可能代替请求者发出请求并访问内部功能。[1], [3]

框架映射

  • 本指南所述弱点的 CWE 参考: CWE-918

根本原因剖析 (Root Cause)

SonicWall 将问题描述为 SMA1000 Appliance WorkPlace 界面中的非预期替代访问路径。未认证的远程攻击者可能让设备代其发出请求、访问内部功能并执行未授权操作。SonicWall 的公告没有公开固件源码差异。BleepingComputer 引述研究员 Ryan Dewhurst 称,蜜罐检测到使用 OPTIONS、针对 WorkPlace Extraweb 并指向本地 CouchDB 服务的尝试。报道没有证实任何尝试成功入侵系统;本文将其表述为有来源归属的尝试报告,而非已确认的漏洞利用。本文不复现报道中的 payload 或凭据。SonicWall 给出的评分为 CVSS 10.0 Critical;CVE 记录列出 CWE-918。厂商称十月漏洞与其他已报告的 SonicWall 漏洞无关。不要将本 CVE 与此前 SMA1000 披露合并成攻击链。 SonicWall 10 月 6 日的公告称,当时没有证据显示漏洞在野外遭到利用。10 月 9 日,BleepingComputer 报道研究员 Ryan Dewhurst 称 Previdian 蜜罐检测到与该 CVE 特征一致的尝试;尚未证实这些尝试是否成功入侵系统。 2026年10月12日更新:MS-ISAC 表示当时没有这份公告中的四个漏洞遭到现实环境利用的报告。这与10月9日关于蜜罐尝试的报告并不矛盾:尝试不能证明利用成功,且 MS-ISAC 未指明受害者。同一公告评估称,预认证 SSRF CVE-2026-102255 若与 CVE-2026-102256(另一项需要已认证管理员权限的操作系统命令注入漏洞)形成链条,可能导致远程代码执行和系统完全失陷。公告没有解释如何满足认证前提,没有描述已证实的利用序列,也没有报告观察到该攻击链。应将其视为政府来源提出的有条件风险评估,而非已确认或可复现的攻击链。SonicWall 列出的修复版本为 12.4.3-03670+ 和 12.5.0-03082+;无论攻击链是否得到证实,都应安装更新。[1], [2], [3], [4], [6]

攻击执行流程分解

步骤 1

未认证请求到达 WorkPlace

SonicWall 表示该预认证问题影响 SMA1000 WorkPlace。BleepingComputer 报道蜜罐观察到针对 WorkPlace Extraweb 的 OPTIONS 尝试;这并不能证明入侵成功。[1], [4]

步骤 2

设备代替请求者发出请求

厂商称攻击者可能访问内部功能并执行未授权操作。BleepingComputer 报道称相关尝试指向本地 CouchDB,但研究员尚未确认系统遭到成功入侵。[1], [4]

步骤 3

运维响应:安装补丁并调查暴露情况

SonicWall 将 12.4.3-03670+ 和 12.5.0-03082+ 列为已修复版本。如果补丁安装延迟,请暂时限制 WorkPlace 的暴露面,保留日志并进行调查。已报告的尝试并不能证明系统遭到成功入侵。[1], [4], [5]

源代码对比:漏洞与安全实现

固件源码和补丁差异未公开。这个通用 Python 示例将调用方限制为选择固定服务标识,由应用控制来源和路径并禁用重定向。它不是 SonicWall 代码,不会复现该 CVE,也不是完整的 SSRF 防护。应安装 SonicWall 平台热修复。[1]

源码摘录: Generic SSRF defense illustration; not SonicWall source

存在漏洞的实现
# 通用示例;不是 SonicWall 源代码,也不复现该漏洞。
def fetch_health(user_supplied_url, session):
    return session.get(user_supplied_url, timeout=3)
加固后的安全修复
# 通用 SSRF 防御模式;不是 SonicWall 源代码,也不是完整补丁。
from urllib.parse import urljoin

SERVICE_PATHS = {"status": "/health"}
BASE_URLS = {"status": "https://status.example.internal"}

def fetch_health(service_id, session):
    base = BASE_URLS.get(service_id)
    path = SERVICE_PATHS.get(service_id)
    if base is None or path is None:
        raise ValueError("unknown service")
    # 用户输入只能选择固定能力,不能指定 URL 或主机。
    return session.get(urljoin(base, path), timeout=(2, 3), allow_redirects=False)

工程与系统安全加固清单

参考来源