What happened
On musl-based Linux systems without PAM, OpenSSH before 10.6p2 could let an attacker log in to accounts that have no usable password, such as key-only users, by sending an over-long password25. Alpine Linux's default openssh-server build fits that description, and other musl-based images may too; glibc-based distributions such as Debian, Ubuntu and Fedora are reported as not affected2. OpenSSH released 10.6p2 on 5 November, and Help Net Security reports exploitation began within hours1. The Hacker News reports attackers gained root on an Alpine honeypot3.
Reporting describes the mechanism as an interaction between two components rather than a bug in either alone: musl's password hashing function rejects oversized input with a value that happens to match how locked accounts are marked, and sshd compares the two5. OpenSSH and musl maintainers have publicly disagreed about where the fault lies4. For defenders, that debate matters less than the fact that each component behaved as its own authors expected.
- ReachAn attacker finds sshd exposed on a musl-based host or image
- SendA login attempt with an over-long password for a known account
- MismatchThe hashing result matches the marker for "no password"
- Log inA key-only account accepts the login
- EscalateIf that account can become root, the host is lost
- SpreadCredentials and network access on the host are used next
Lesson 1: "minimal" images are not minimal attack surface
Alpine is popular because it is small, and small images are usually safer. But a small image that ships an SSH server is a small image with an internet-facing login service. The question to ask of every base image is not "how big is it?" but "what does it listen on, and who can log in?".
The flaw also only affected one C library. Many organisations do not know which of their images, appliances and embedded devices use musl rather than glibc, because nobody needed to. Add the C library and the presence of sshd to your image inventory; an SBOM per image makes this a query rather than a hunt. See supply chain security.
Lesson 2: state your intent, do not rely on side effects
Many hosts were exposed because password logins were never explicitly disabled; operators relied on accounts having no password. OpenSSH's developers advised setting PasswordAuthentication to no, or disabling SSH, until systems are patched2. That is good practice regardless of this bug: configuration should say what you mean ("no password logins") rather than depend on the state of every account.
The same applies to default users in cloud images. Reporting notes that the default user on some official Alpine cloud images could become root, which turned a login bypass into full control2. Review which default accounts your images ship with and what they can do.
Lesson 3: containers should not run SSH
A container that runs sshd invites people to log in and change it, and invites attackers to do the same. Containers should be rebuilt and replaced, not maintained by hand. Where engineers need to debug, use the orchestrator's audited access, and treat any container that someone has changed interactively as untrusted until it is replaced. The Kubernetes community has described exactly that pattern: tag pods that have been accessed interactively and evict them after a set time6.

For hosts that genuinely need SSH, put it behind a management network or an access broker, with short-lived certificates rather than static keys, and never on the open internet. See the management plane hardening case study.
What to do this week
The fix for sshole is one package update. The fix for the next one is knowing what runs SSH, saying explicitly how it may be used, and not running it where it does not belong.
CTO take
This was not an exotic attack. It exploited an assumption almost every team makes, on a base image almost every team uses, and attackers moved within hours. Teams with an image inventory, explicit SSH configuration and no SSH in containers will spend this week on a routine patch. Teams without them will spend it finding out where Alpine is running. Read alongside the 7 November tech news, where the flaw first appeared on this site.
How I can help
I help teams harden platforms, from base images and access paths to Kubernetes and management planes. I am based in India, the United States and the UAE, working globally. See fractional CTO work, where I work, or analyse your challenge and bring the result to a call.
- 1OpenSSH flaw exploited in the wild just hours after disclosure (CVE-2026-123158)Help Net Security · 6 Nov 2026
- 2OpenSSH Password Authentication Bypass on Alpine Linux (*sshole)OX Security · Nov 2026
- 3Hackers Target OpenSSH SSHole Flaw Within Hours of Disclosure, Gain Root on HoneypotThe Hacker News · Nov 2026
- 4OpenSSH flaw lets attackers log into password-disabled Linux accountsBleepingComputer · Nov 2026
- 5CVE-2026-123158 (sshole): OpenSSH Password Bypass on Alpine LinuxEthiack · Nov 2026
- 6Using Admission Controllers to Detect Container Drift at RuntimeKubernetes blog · 21 Dec 2021