Back to all stories

A recent vulnerability was discovered in core C code, specifically in the musl libc's crypt function, which returns a "*" string for a password that is too long, conflicting with the Unix convention of "*" indicating a locked account. This issue, combined with sshd's hashing of login attempts for locked accounts, allows an unauthenticated user to gain a shell on certain systems, such as those using the official Alpine AWS image without PAM. While this is not a memory safety vulnerability, it highlights the differences between C and languages like Rust, which have community norms that discourage such error-prone coding practices, and demonstrates the need for improved coding standards and potentially a move away from C.