# musl libc 的 crypt 返回 "*" 哨兵值，导致 Alpine 上 sshd 可被未认证用户拿到（可能是 root）shell

> 原标题：*sshole, or when are we going to get rid of C?

- 来源：Hacker News 首页
- 发布时间：2026-11-06T22:34:04.000Z
- AX AI 日报：https://ai-daily.ax0x.ai/items/t4j46jp3fa8q4727xwj0l4467
- 原文：https://sunshowers.io/posts/sshole/

## 摘要

musl libc 的 crypt 函数自 2012 年起对过长密码返回字符串 "*"，与 Unix 上 "*" 表示锁定账户的旧约定冲突，在无 PAM 的 musl 系统（如官方 Alpine AWS 镜像）上让未认证用户获得可能是 root 的 shell。作者指出这不是内存安全漏洞，C 类型系统无法强制检查 NULL 返回值，而 Rust 社区规范不允许这种 in-band 哨兵值。
