CVE-2026-62943:btrbkSSH命令过滤绕过漏洞,CVSS8.7分

admin 2026-09-22 06:02:29 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: btrbk的sshfilterbtrbk.sh脚本存在CVE-2026-62943命令注入漏洞,CVSS4.0评分8.7分。根因是正则表达式缺少结束锚点,攻击者可在合法命令后追加管道符执行任意命令,影响0.29.0至0.32.7之前版本。建议升级至0.32.7版本,或手动添加结束锚点作为临时缓解措施。 综合评分: 85 文章分类: 漏洞分析,应急响应,解决方案


CVE-2026-62943:btrbk SSH命令过滤绕过漏洞,CVSS 8.7分

撅人

2026年9月20日 11:06 广东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

2026 年 9 月 18 日,btrbk 项目发布了编号为 CVE-2026-62943 的安全公告。该漏洞存在于 btrbk 的 ssh_filter_btrbk.sh 脚本中,受限 SSH 用户可在合法 btrbk 命令前缀后追加管道命令,绕过白名单过滤执行任意命令。

CVSS 4.0 基础评分 8.7 分,严重等级评定为 High。该漏洞已在 btrbk 0.32.7 版本中修复。目前暂无在野利用。

1

漏洞速览

CVE 编号 CVE-2026-62943

漏洞类型 CWE-78 OS Command Injection(操作系统命令注入)

影响产品 btrbk(digint/btrbk)— Btrfs 快照与远程备份工具

安全等级 High(CVSS 4.0 基础评分 8.7)

受影响版本 0.29.0 <= btrbk < 0.32.7

披露时间 2026-09-18(GitHub 安全公告发布日)

补丁情况 已在 0.32.7 版本修复

利用情况 暂无在野利用,未被列入 CISA KEV 目录

2

漏洞概述

btrbk 是一款用于创建 Btrfs 子卷快照和远程备份的工具。在备份场景中,btrbk 通过 SSH 连接远程备份目标主机执行 btrfs 子卷操作。为了限制远程 SSH 用户的权限,btrbk 提供了 ssh_filter_btrbk.sh 脚本,配合 authorized_keys 的 forced command 机制,将远程用户可执行的命令限制在 btrbk 白名单范围内。

该漏洞的根因在于 ssh_filter_btrbk.sh 中的 allow_stream_match 函数使用了正则表达式的起始锚点(^)但缺少结束锚点($)。这意味着过滤器仅检查命令是否以合法的 btrbk 命令前缀开头,但不检查命令是否在此前缀之后结束。

攻击者可以在合法 btrbk 命令前缀后追加管道符(|)和任意命令。例如:btrbk send … | rm -rf /。由于过滤器仅匹配前缀,管道后的命令会被直接执行,且以备份目标 SSH 账户的权限运行。

需要强调的是,该漏洞仅影响使用 ssh_filter_btrbk.sh 作为 authorized_keys forced command 的部署。不使用该脚本的 btrbk 部署不受影响。漏洞影响范围为机密性、完整性和可用性三项均为 High,攻击者可在备份目标主机上执行任意命令。

截至公告发布,该漏洞暂无在野利用记录,未被列入 CISA 已知被利用漏洞(KEV)目录。btrbk 0.32.7 已修复该问题。

3

CVSS 评分详解

该漏洞采用 CVSS 4.0 评分标准,向量字符串:CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

攻击向量(AV) Network — 攻击者可通过网络远程发起 SSH 连接

攻击复杂度(AC) Low — 追加管道命令简单直接,无需特殊条件

攻击要求(AT) None — 无需特定攻击前置条件

所需权限(PR) Low — 攻击者需具备受限 SSH 用户的访问权限(authorized_keys 中配置了 forced command)

用户交互(UI) None — 无需用户交互

机密性影响(VC) High — 可完全读取备份目标主机上的数据

完整性影响(VI) High — 可修改备份目标主机上的任意数据

可用性影响(VA) High — 可导致备份目标主机服务不可用

系统机密性(SC) None — 无系统级机密性影响

系统完整性(SI) None — 无系统级完整性影响

系统可用性(SA) None — 无系统级可用性影响

4

利用条件与攻击路径

该漏洞的利用需要满足以下前提:

第一,目标部署使用了 ssh_filter_btrbk.sh 作为 authorized_keys 的 forced command。这是 btrbk 远程备份场景的标准配置,用于将远程备份用户的权限限制在 btrbk 相关命令范围内。

第二,攻击者需要拥有该受限 SSH 账户的登录凭据或密钥(PR:L)。这类账户通常是备份专用账户,可能被多个运维人员或自动化系统共享。

第三,目标运行的是 btrbk 0.29.0 至 0.32.7 之前的版本。0.29.0 之前的版本不受影响,0.32.7 已修复。

攻击路径总结: 攻击者登录受限 SSH 备份账户 → SSH forced command 触发 ssh_filter_btrbk.sh → 攻击者提交合法 btrbk 命令前缀 + 管道符 + 任意命令 → 过滤器因缺少结束锚点仅检查前缀 → 管道后命令以备份目标 SSH 账户权限执行 → 实现完整机密性/完整性/可用性破坏

5

修复建议

btrbk 已在 0.32.7 版本中修复该漏洞。修复方式是在 allow_stream_match 的正则表达式中添加结束锚点($),确保命令在合法前缀之后不再有额外内容。

建议操作 将 btrbk 升级至 0.32.7 及以上版本。该版本已通过 GitHub 发布,可通过项目 Release 页面或包管理器获取。

版本检查方法:

btrbk –version

升级方式(源码安装):

git clone https://github.com/digint/btrbk.git cd btrbk git checkout v0.32.7 sudo make install

临时缓解措施(无法立即升级时):

· 手动修改 ssh_filter_btrbk.sh,在 allow_stream_match 的正则表达式中添加 $ 结束锚点

· 限制备份 SSH 账户的网络访问来源,仅允许已知备份服务器 IP 连接

· 为备份目标 SSH 账户配置最小权限文件系统 ACL,限制可写范围

· 评估是否可暂停使用 ssh_filter_btrbk.sh,改用其他 SSH 命令限制方案(如 restricted shell)

6

漏洞时间线

2026-07-14

CVE-2026-62943 编号被预留

2026-09-18

btrbk 发布 v0.32.7 修复版本,GitHub 安全公告 GHSA-pf45-7g54-65h5 公开

2026-09-19

CVE 记录公开发布,本文撰写

2026-09-20

本文发布

7

致谢与参考

该漏洞通过 GitHub 安全公告(GHSA-pf45-7g54-65h5)协调披露,CVE 编号由 GitHub CNA 分配。公告未单独列出报告者信息。

参考链接:

· GitHub 安全公告(GHSA-pf45-7g54-65h5): https://github.com/digint/btrbk/security/advisories/GHSA-pf45-7g54-65h5

· 修复 commit: https://github.com/digint/btrbk/commit/29ca3c093205395bdeb9dd98677ab4139c458aec

· v0.32.7 发布页面: https://github.com/digint/btrbk/releases/tag/v0.32.7

· CVE 记录: https://www.cve.org/CVERecord?id=CVE-2026-62943

· OpenCVE 漏洞追踪: https://app.opencve.io/cve/CVE-2026-62943

· btrbk 项目仓库: https://github.com/digint/btrbk

本文信息来源为 GitHub 安全公告(GHSA-pf45-7g54-65h5)、OpenCVE 漏洞追踪及 btrbk 项目仓库,仅供安全研究与防御参考。btrbk 0.32.7 已修复该漏洞,建议尽快升级。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:撅人 《CVE-2026-62943:btrbk SSH命令过滤绕过漏洞,CVSS 8.7分》

评论:0   参与:  0