安全指南

OpenSSH 10.6p2 紧急修复(CVE-2026-123158):Alpine 等未启用 PAM 的 musl 系统上,sshd 的密码认证可被绕过

OpenSSH 10.6p2(2026年11月5日)规避了 Alpine 等未启用 PAM 的 musl 系统上 sshd 的密码登录绕过问题。如何检查、更新、缓解并排查日志。

发布于 2026-11-07 更新于 2026-11-07 最后核实 2026-11-07 5 分钟阅读
本页目录

适用对象:在 Alpine 等基于 musl 的 Linux 上运行 sshd 的人(服务器、VPS、Docker 镜像、路由器和其他嵌入式设备)、负责基础设施的人员,以及把运维交给外包商的人。本文基于 OpenSSH 发布说明、CVE 与 NVD 记录以及 Alpine Linux 的公告,不涉及攻击步骤。

进行中:本文将随着更多信息发布而更新

适用对象

在 Alpine 等基于 musl 的 Linux 上运行 sshd 的人(服务器、VPS、Docker 镜像、路由器和其他嵌入式设备)、负责基础设施的人员,以及把运维交给外包商的人。

已确认的影响范围查看表格 ↓
  • 问题
  • CVE
  • 范围
另外1项
  • Alpine 修复
尚未确认的事项
  • 利用的规模和是否成功(有攻击尝试的报告,但未找到独立验证)
  • CISA 是否会将其加入已知被利用漏洞目录(11月4日更新的数据中未收录)
  • NVD 自己的评估(11月6日时尚未分析;8.1 的基础分来自 CVE 记录)
另外1项
  • Alpine 以外的发行版和镜像的状况(未找到官方声明)
现在要做的事查看步骤 ↓
  1. 确认 sshd 是否在运行,以及使用的 libc 和 PAM
  2. 更新并重启 sshd
  3. 无法更新时,关闭密码认证
另外2项
  1. 重新构建容器和云镜像
  2. 检查认证日志
最后核实
截至2026年11月7日(日本时间)
续报计划与核实记录

OpenSSH 发布说明称,10.6p2(2026年11月5日)规避了一个可通过 sshd 利用的密码认证绕过问题,影响部分在没有 PAM 的情况下构建并运行的 Linux 系统。说明还称根本原因在 sshd 之外。该问题已登记为 CVE-2026-123158。

今天该做什么

1

确认 sshd 是否在运行,以及使用的 libc 和 PAM

先看主机或容器里是否在运行 sshd。Alpine 的公告把不运行 sshd 的容器列为不受影响。如果在运行,用 ldd $(which sshd) 检查是否为 musl;在 Alpine 上,cat /etc/os-release 也能告诉您。同时查看 sshd_config 中的 UsePAM,以及已安装的软件包是 openssh-server(无 PAM)还是 openssh-server-pam。

2

更新并重启 sshd

在 Alpine 上运行 apk upgrade -U -a。各分支的修复版本不同(见下表)。更新软件包不会替换正在运行的守护进程,所以请重启 sshd,并保持另一个会话打开,以免被锁在门外。

3

无法更新时,关闭密码认证

设置 PasswordAuthentication no,使只有密钥可用,并用 sshd -T | grep -i passwordauthentication 确认。请先确认您的密钥可以登录。同时让 sshd 不暴露在互联网上,并用防火墙或堡垒机限制来源地址。密钥的处理见 SSH 密钥的最小权限。

4

重新构建容器和云镜像

如果您在基于 Alpine 的镜像中安装了 sshd,请更新基础镜像和 openssh 软件包并重新构建。由旧镜像启动的实例需要逐台更新,或用修复后的镜像重建。Alpine 的公告称,其官方云镜像(tiny-cloud)也有受影响的版本。

5

检查认证日志

Alpine 建议在 /var/log/messages 等日志中搜索本不该有密码的账户的密码登录成功记录:root、仅密钥用户和云镜像的默认用户是典型例子。如果发现,或日志已不存在而无法排除,请把该主机视为已被入侵,并检查用户、密钥、配置和文件。参见 检查服务器是否有被入侵的迹象 和 漏洞公布后该怎么做。

musl、无 PAM、sshd 对外暴露

最高优先级。更新并重启;在此之前关闭密码登录

musl 但未对外暴露

尽快更新。限制来源并检查日志

无 sshd、启用 PAM,或已关闭密码

据 Alpine 称不受影响。正常更新即可

是否受影响取决于 sshd 是否运行、libc 和 PAM,以及密码设置。如果不确定,请关闭密码登录并更新。

OpenSSH 和 Alpine 公布了什么

OpenSSH 项目于2026年11月5日发布了 Portable OpenSSH 10.6p2。其发布说明开头即称,该版本包含针对使用 musl libc 且禁用 PAM 的 Linux 系统的关键安全规避措施。

OpenSSH 发布说明(2026年11月5日)
内容
一项变更,用于规避可通过 sshd 利用的密码认证绕过问题,影响部分在禁用 PAM 的情况下构建并运行的 Linux 系统。说明认为根本原因在 sshd 之外,但可以在 sshd 一侧规避
修复版本
Portable OpenSSH 10.6p2
报告者
一家私营安全公司的研究人员(按说明中的致谢)
利用情况
说明未提及利用
CVE 与 NVD 记录
登记
CVE-2026-123158,2026年11月5日公布(由 MITRE 分配)
范围
10.6p2 之前的 OpenSSH,在 Linux 上使用 musl libc 且无 PAM 时。以 Alpine Linux 为例
评分
CVSS 3.1 基础分 8.1(High),来自 CVE 记录。NVD 显示该条目于11月6日收到,尚无自己的分析
CISA 标注
附在记录上的 CISA 评估(SSVC)把利用情况列为概念验证,可自动化为否,技术影响为完全
Alpine Linux 公告(2026年11月5日)
受影响
openssh-server(无 PAM),或 UsePAM no 的 openssh-server-pam。分支 3.21 至 3.24 和 edge,以及已不受支持的 3.16 至 3.20(3.21 于11月1日结束支持)。官方云镜像(tiny-cloud)3.18.11 至 3.24.3
条件(须全部满足)
PasswordAuthentication 为 yes(OpenSSH 默认值);某个账户的密码字段为星号(PermitRootLogin yes 的 root、仅密钥用户、目录服务用户、tiny-cloud 的默认用户);且另一个本地账户持有 $ 格式的密码哈希
不受影响
不运行 sshd 的容器、PasswordAuthentication no、UsePAM yes 的 openssh-server-pam;被锁定的账户(以 ! 标记)无法自行登录;没有账户持有 $ 格式哈希的环境,以及写入 PasswordAuthentication no 的 cloud-init 环境,也不在范围内

Alpine 的修复版本(openssh)

分支修复版本
edge10.6_p2-r0
3.2410.3_p1-r2
3.2310.2_p1-r1
3.2210.0_p1-r11
3.219.9_p2-r1
3.209.7_p1-r6
3.199.6_p1-r3
3.189.3_p2-r4
3.179.1_p1-r7
3.169.0_p1-r6

Alpine 保持各分支的版本号,并发布打过补丁的软件包构建,因此修复不一定是升级到 10.6p2。已修复的 tiny-cloud 镜像为 3.21.10、3.22.8、3.23.8 和 3.24.4 及以后版本。

利用情况

截至2026年11月7日,本站能够确认的内容:

利用情况核查(2026年11月7日)
OpenSSH 与 Alpine
两者均未提及利用
KEV
不在 CISA 的 KEV 中(检查的数据更新于11月4日 20:00 UTC)
CISA 评估
CVE 记录中的 SSVC 称为概念验证,这与已观察到的利用是两回事。媒体还报道称概念验证已公开(此处不提供链接)
私营机构的报告
Help Net Security(11月6日)报道称,一家私营威胁情报公司在公开后不到九小时内看到了攻击尝试,其中包括在其自有监控环境中的一次 root 会话。该公司自己的页面说明,其 confirmed 标签并不意味着尝试成功。该文章转述了公司的说法,并报告来自单一来源、被一个传感器捕获的八次尝试。该公司自己的页面(截至11月6日)统计的是一个传感器上的 4 次尝试。两个数字都很小,且未找到独立验证

本站的看法:官方来源和 KEV 并未确认利用,但有一家私营公司报告了攻击尝试。数量很少,且未经验证。不过,由于攻击所需的信息已经在流传,等待更多报告并不明智。请优先更新对外暴露的 Alpine sshd。

已知与未知

项目公布的内容状态
问题部分无 PAM 的 Linux 上,经由 sshd 的密码认证绕过;在 10.6p2 中规避(OpenSSH)已确认(OpenSSH)
CVECVE-2026-123158(CVE 记录)已确认
范围10.6p2 之前,Linux,无 PAM 的 musl;以 Alpine 为例(CVE 记录)已确认(CVE 记录)
Alpine 修复3.16 至 edge 各分支均有修复包(Alpine)已确认(Alpine)
条件启用密码认证;星号账户与 $ 格式哈希账户同时存在(Alpine)Alpine 的描述
glibc(Debian、RHEL 系列)官方来源把范围限定为无 PAM 的 musl;关于 glibc 安全的说法仅见于媒体转述的一位研究人员的说法没有明确的官方声明
其他 musl 系统媒体转述研究人员的说法,称其他 musl 系统和嵌入式用途值得检查;未找到发行版的声明未确认
数值评分CVE 记录中的 8.1;NVD 尚未分析部分
利用私营公司报告了攻击尝试;未找到独立验证已报告(未验证)
CISA KEV11月4日更新的数据中未收录未收录

如果由他人运维您的服务器

如果您使用外包商的服务器、VPS 或容器平台,请问三个问题。

  • sshd 是否在运行?如果是,它是否是未启用 PAM 的 musl 系统(如 Alpine)?
  • 是否已更新到 10.6p2 或发行版的修复包,并重启了 sshd?是什么时候?
  • 是否允许密码认证?sshd 能否从互联网访问?

本站的看法:不要留着一扇密码之门

关闭密码认证、只用密钥,Alpine 把这一问题列为不影响您。为了方便而敞开的门,正是会被人使用的门。除了更新,请重新审视 sshd 是否暴露,以及密码字段为星号的账户都用来做什么。关于如何确定优先级,参见 如何给漏洞排优先级(CVSS、EPSS、KEV)。

时间线

  1. 2026年11月5日

    OpenSSH 发布带有规避措施的 Portable OpenSSH 10.6p2。Alpine Linux 发布公告和修复包。CVE-2026-123158 公布。
  2. 11月6日

    NVD 收到该记录(尚无自己的分析)。Help Net Security 报道称,一家私营威胁情报公司在公开后不到九小时内看到了攻击尝试。
  3. 11月7日

    本站核查了 OpenSSH 发布说明、CVE 与 NVD 记录、Alpine 的公告和 KEV。KEV 中未收录。

信息来源(公开记录)

核查日期:2026年11月7日。官方来源在前。

  • OpenSSH Release Notes, 10.6p2(2026年11月5日)— openssh.org
  • Alpine Linux, OpenSSH password authentication bypass(2026年11月5日)— alpinelinux.org / 安全跟踪器
  • CVE-2026-123158(2026年11月5日公布)— cve.org / nvd.nist.gov
  • CISA 已知被利用漏洞目录(11月7日核查;数据更新于11月4日)— cisa.gov / JSON
  • 媒体报道(转述一家私营公司的说法;未找到独立验证):Help Net Security(2026年11月6日)— helpnetsecurity.com

更新记录

2026-11-07:首版,基于 OpenSSH 10.6p2 发布说明、CVE 与 NVD 记录以及 Alpine 的公告。截至11月7日,KEV 中未收录。一家私营公司报告了攻击尝试(未经验证)。

延伸阅读

最新快讯

FAQ

Q发生了什么?
A

2026年11月5日,OpenSSH 项目发布了 Portable OpenSSH 10.6p2。其发布说明称,该版本规避了一个可通过 sshd 利用的密码认证绕过问题,影响部分在禁用 PAM 的情况下构建并运行的 Linux 系统,并将其描述为针对使用 musl libc 且禁用 PAM 的 Linux 系统的关键规避措施。对应 CVE 为 CVE-2026-123158。

Q我受影响吗?
A

如果您在未启用 PAM 的 musl libc 上运行 sshd,请先检查。典型例子是使用默认 openssh-server 软件包的 Alpine Linux。Alpine 的公告称,只有同时满足以下条件的主机才受影响:启用了密码认证,某个账户的密码字段为星号,且另一个本地账户持有常规密码哈希。不运行 sshd 的容器、PasswordAuthentication no 的环境,以及启用 PAM 的环境(UsePAM yes)被列为不受影响。

QDebian、Ubuntu 和 RHEL 呢?
A

OpenSSH 发布说明和 CVE 记录把问题范围限定为未启用 PAM 的 musl Linux,基于 glibc 的 Debian 和 RHEL 系列并未被提及。有媒体报道转述了一位研究人员的说法:glibc 系统(文中点名了 Debian、Ubuntu 和 Fedora)、启用 PAM 的环境以及 Dropbear 不受影响,但本站没有找到这些发行版的官方声明。如果不确定,请检查 libc,例如使用 ldd $(which sshd)。

Q无法更新时有缓解办法吗?
A

Alpine 的公告介绍的做法是设置 PasswordAuthentication no,使只有密钥认证可用。请用 sshd -T 确认并重启 sshd。同时不要让 sshd 暴露在互联网上,或用防火墙限制来源地址。切换为仅密钥认证之前,请先在另一个会话中确认您的密钥可以登录。

Q有被利用吗?
A

截至2026年11月7日,它不在 CISA 的 KEV 中(检查的数据更新于11月4日)。附在 CVE 记录上的 CISA 评估把利用情况列为概念验证,这与已观察到的实际利用是两回事。Help Net Security 报道称,一家私营威胁情报公司在公开后不到九小时内就看到了攻击尝试;该公司自己的页面说明,其 confirmed 标签并不意味着尝试成功。数量很少。未找到独立验证,因此本站视其为已报告的尝试,而非已验证。

Q更新后应检查什么?
A

重启 sshd,并确认正在运行的进程是新版本,因为仅更新软件包并不会替换正在运行的守护进程。然后检查认证日志中是否有本不该有密码的账户(如 root、仅密钥用户或云镜像的默认用户)出现了密码登录成功的记录。如果无法排除某次登录,请把该主机视为已被入侵并展开调查。