
字节笔记本
2026年11月5日 · 约 2 分钟读完
不用密码就能登上 Alpine,一次连接必成、暂无 CVE
Alpine Linux 11 月 5 日发布安全通告:其 openssh-server 包(无 PAM 构建)存在口令认证绕过,能连上 SSH 端口的攻击者不需要知道任何密码即可登录,一次连接、每次都成、无需重试。通告撰写时尚未分配 CVE 编号,写明这一点是因为编号后续可能会补,别当成「永远没有 CVE」。

触发条件要同时满足四条,自查就按这个清单来:一,跑的是 Alpine 的 openssh-server 包(无 PAM 构建),或 openssh-server-pam 但设了 UsePAM no(UsePAM yes 不受影响,Debian、Ubuntu 等 PAM 构建不在此列,别读成「OpenSSH 全线沦陷」);二,PasswordAuthentication 是 yes(OpenSSH 默认值,改过的不算);三,机器上有一个密码字段为星号的账户,也就是无密码账户,用密钥登录的账户常态就是这种配置;四,至少还有一个本地账户带着 5 或 6 开头的密码哈希。攻击者发送 257 到 1024 字节的超长密码即可命中,而只要有一个有密码的用户,每一个无密码账户就都变得可达。
影响范围按通告原文:抽查的每个 Alpine 版本都中招,覆盖 3.21 至 3.24 与 edge,以及已停更的 3.16 至 3.20。root 默认是安全的,基础镜像里的 root:* 从 3.16 起就存在,但 OpenSSH 默认的 PermitRootLogin prohibit-password 挡住了直达路径,只有显式设成 yes 才暴露;不过官方也说明,另一个能登录的账户再经 doas 提权同样成立。官方 tiny-cloud 镜像里的 alpine 用户也在影响之列。不受影响的:不在容器里跑 sshd 的 Docker 用户、已关口令登录的系统、感叹号锁定的账户。
修复动作只有两步:升级对应分支的包(edge 10.6_p2-r0、3.24 10.3_p1-r2、3.23 10.2_p1-r1、3.22 10.0_p1-r11、3.21 9.9_p2-r1),然后重启 sshd。第二步最容易漏,升级完不重启,运行中的 daemon 还是旧代码,等于没修。暂时无法升级的,设 PasswordAuthentication no 再重启 sshd 即可封堵,动手前先确认密钥登录可用、保持当前会话别断。跑 Alpine 做宿主的朋友,今天就把这三条自查跑一遍。



