flawopen.com/Incidents/papercut-patch-bypass-scan2fax-chain-october-2026
●
PaperCut NG/MF · CVE-2026-82077 · 2026-10-09 · CVSS 7.3 · 高危
安全研究 · FlawOpen
PaperCut 补丁绕过:Scan2Fax 到预认证 RCE
10 月 9 日,watchTowr 披露了一条针对 PaperCut 中间版本的新认证绕过与 Scan2Fax 利用链。该链展示了补丁绕过如何重新打开从预认证入口到后认证命令执行漏洞的路径;PaperCut 的最终修复版本为 26.0.5/25.0.13。[1], [2]
💡 通俗易懂的原理解析 (ELI5)
想象一栋楼里的每个房间都会检查访客证件,但大厅只检查访客路线上的第一个房间。访客可能从一间开放的房间绕到受限办公桌,而那里不会再次查验证件。PaperCut 的补丁历史需要关闭多个类似路径;最终修复同时保护表单本身以及 Scan-to-Fax 使用的文件路径。[1]
核心概念与专有名词
补丁绕过- 修复只封住最初报告的路径后,另一条路径仍能到达同一受保护操作。这是边界上的新缺陷,并不说明原补丁完全没有生效。[1]
预认证利用链- 一个缺陷绕过正常登录检查,另一个缺陷带来命令执行等影响的连续过程。每一环都有独立机制,应分别准确描述。[1]
CVE-2026-82077- PaperCut 的 Scan-to-Fax 漏洞属于路径遍历,可让已认证管理员在主机上执行命令。PaperCut 在 26.0.5 和 25.0.13 中修复;watchTowr 展示了如何将中间版本中的另一项授权绕过与其串联。[2], [3], [4], [1]
WT-2026-0143- watchTowr 对 10 月 9 日披露的认证补丁绕过问题所用的编号。PaperCut 的公开公告没有为其分配独立 CVE;该问题在紧急版本 26.0.4-PO build 76530 中修复。[1]
框架映射
版本状态:区分 PaperCut 的两条漏洞链
| PaperCut 版本 | 来源确认的情况 | 防护措施 |
|---|---|---|
| 26.0.3 | watchTowr 将较早的 CVE-2026-81578 + CVE-2026-82078 链与此版本及现实中的攻击联系起来。 | 遵循 PaperCut 的紧急公告;这是较早的已遭利用链,不是十月的研究链。 |
| 26.0.4 | watchTowr 在分析此版本时发现了其他补丁绕过问题。 | 不要把中间补丁视为最终状态;按厂商列出的已修复版本处理。 |
| 26.0.4-PO build 76508 | watchTowr 在此版本复现了 WT-2026-0143 + CVE-2026-82077。这是研究演示,并不证明客户遭到利用。 | 升级到厂商已修复的版本;不要因为此版本包含较早的紧急修复就推断它已安全。 |
| 26.0.4-PO build 76530 | watchTowr 表示此版本修复了 WT-2026-0143;CVE-2026-82077 在后续版本中修复。 | 继续升级至 CVE-2026-82077 的最终修复版本;此中间绕过修复本身并不足够。 |
| 26.0.5 / 25.0.13 或更高版本 | PaperCut 将这些版本列为 CVE-2026-82077 的修复版本。 | 升级到当前受支持版本,并核对已安装的分支和构建号。 |
| 24.1.10 维护版本 | PaperCut 八月公告将 24.1.10 列为取代 Emergency Patches 1–3 的维护版本。 | 这只确认了八月公告中的修复,并未确定 CVE-2026-82077 的状态。 |
24.x 分支:CVE-2026-82077 | PaperCut 九月公告将 26.0.5 和 25.0.13(25.x 分支)列为修复版本;未说明 24.x 分支。 | 不要推断此 CVE 在 24.x 中的状态;请查阅 PaperCut 对该分支的当前指导。 |
事件演进时间线
2026-08-27
2026-08-31 至 2026-09-10
攻击执行流程分解
源代码对比:漏洞与安全实现
此通用 Java 示例展示两项独立控制:在特权操作本身执行授权检查,并从服务器管理的连接器映射中选择可执行文件,再验证其规范路径。这不是 PaperCut 源码或供应商补丁。生产代码还必须验证参数、限制进程权限并使用已修复的 PaperCut 版本;仅检查路径无法修复页面路由中的授权绕过。
存在漏洞的实现
Path executable = faxDirectory.resolve(clientConnectorName).normalize();
// 路由级检查不能替代对此操作本身的授权。
new ProcessBuilder(executable.toString(), faxArguments).start();
加固后的安全修复
if (!principal.canAdministerFax()) {
throw new SecurityException("Fax administration is required");
}
Path root = faxDirectory.toRealPath();
Path executable = approvedConnectors.get(connectorId); // Server-owned allowlist.
if (executable == null) {
throw new IllegalArgumentException("Unknown connector");
}
Path resolved = executable.toRealPath();
if (!resolved.startsWith(root) || !Files.isExecutable(resolved)) {
throw new SecurityException("Connector is outside the approved directory");
}
new ProcessBuilder(resolved.toString(), validatedArguments).start();
工程与系统安全加固清单
- ✓将 PaperCut NG/MF 更新到 26.0.5 或更高版本;若使用 25.x 分支,则更新到 25.0.13 或更高版本。不要把中间版本 76508 当作最终修复;PaperCut 安全公告列明了最终修复版本。[2], [4]
- ✓如果受影响或中间版本曾暴露,请遵循 PaperCut 当前安全公告和事件响应指引;不要据 10 月研究推断 WT-2026-0143/
CVE-2026-82077已导致入侵或正在被攻击者利用。[2] - ✓在每个目标页面和表单的操作边界执行授权检查。为直接和嵌套路由添加测试,确保获准的根页面不能在目标自身未检查权限时调用受保护目标。[1]
- ✓不要根据请求中的连接器名称生成可执行文件路径。将稳定标识符映射到服务器配置的可执行程序,规范化路径,并拒绝解析到授权目录以外的程序。[1], [2]
- ✓在代码审查和版本说明中,将认证绕过修复与命令执行修复作为不同控制;框架或路由变更后分别运行回归测试。[1]
- ✓阅读公告时区分此前遭利用的
CVE-2026-81578/CVE-2026-82078链条与之后披露的补丁绕过研究。分别注明实际利用观察、研究人员复现和供应商修复版本的来源。[1], [2]