Skip to main content
News

OpenSSH Flaw on Alpine Linux Lets Outsiders Log In Over SSH Without the Password, and It Is Already Exploited

On 5 November 2026, OpenSSH released 10.6p2 to fix CVE-2026-123158, which makes sshd on Linux systems using musl libc without PAM, such as Alpine, accept any password longer than 256 characters for some accounts. CISA confirmed active exploitation on 9 November. Which machines are affected, how to fix them, and what to check next.

OpenSSHAlpine LinuxSSHCybersecurityPatch ManagementServer SecurityPDPA

Say your team runs a few small cloud servers for background jobs: a file drop for suppliers, a backup box, or a jump host the admins use to reach other systems. Machines like these often run Alpine Linux because it is light and quick to set up, and they keep SSH open so an admin can get in when something breaks.

If one of those machines has not had its openssh package updated this week, anyone who can reach its SSH port may be able to log in without knowing a password at all.

What happened

On 5 November 2026, the OpenSSH team released Portable OpenSSH 10.6p2. The release notes describe a critical security workaround for a password authentication bypass through sshd on some Linux systems built and run with PAM disabled. The OpenSSH team considers the root cause to sit outside sshd, but because sshd is the way in, they fixed it there. The bug was reported by Özgün Kültekin of Wakefield.

The same day, Alpine Linux published a security advisory. It says an attacker who can reach the SSH port can log in without knowing any password, using one connection, with no retries, and it works every time.

NIST's National Vulnerability Database records the issue as CVE-2026-123158. It affects sshd in OpenSSH before 10.6p2 on Linux when musl libc is used without PAM, and for some account configurations any password between 256 and 1024 characters succeeds. The CVSS 3.1 score on record is 8.1.

On 9 November 2026, the US Cybersecurity and Infrastructure Security Agency (CISA) added the flaw to its Known Exploited Vulnerabilities catalog, the list of flaws with evidence of real attacks, and gave US federal agencies until 12 November 2026 to fix it. That deadline does not bind Thai companies, but a three-day window says a lot about the urgency.

How the flaw works

Alpine explains the mechanism plainly. When sshd is built without PAM, it checks a password by running the attempt through the C library's crypt() function and comparing the result with the value stored in the shadow file.

musl's crypt() returns the string * to signal an error when the password is longer than 256 bytes. An account with no password set, such as a key-only account, also stores * in that field. The two values match, so sshd lets the attacker in.

According to Alpine, a machine is affected only when all of these are true:

  • It runs Alpine's openssh-server package, which is built without PAM, or openssh-server-pam with UsePAM no.
  • PasswordAuthentication is yes, which is the OpenSSH default unless someone changed it.
  • It has an account whose password field is *, for example root in the base image since about Alpine 3.16, users created for key-only login, or users pulled from a directory service through musl-nscd.
  • At least one local account has a password hash starting with $5$ or $6$.

The default PermitRootLogin prohibit-password setting protects root itself, but Alpine warns this does not help if another account that can log in is able to become root, for example through doas.

Alpine also notes that its official tiny-cloud images from 3.18.11 through 3.24.3 ship an alpine user with no password and passwordless doas. Those machines are safe on first boot, and become exploitable as soon as anyone sets a password hash for any account on them.

Who is not affected

Alpine lists these cases as not affected: containers that do not run sshd inside, systems with PasswordAuthentication no, openssh-server-pam with UsePAM yes, locked accounts marked with !, and systems where no account has a password hash at all. Cloud images configured through cloud-init are also safe, because cloud-init writes PasswordAuthentication no.

The OpenSSH notes limit the problem to Linux systems that use musl libc with PAM disabled, and NVD names Alpine as an example of such a platform. A machine that does not meet both conditions is outside the bug. Still, IT teams should confirm how the running sshd was built on each machine instead of guessing from the operating system name.

Why this matters for Thai businesses

The Alpine advisory covers self-installed servers, cloud images and containers, which tells you Alpine can turn up in more places than the machines your IT team set up by hand. Many companies may have an sshd on Alpine that nobody remembers, such as a container a former contractor built to receive files over SFTP.

Small machines like these usually connect to something important. A jump host reaches the ERP servers and databases. An SFTP drop holds invoices, customer lists or employee data. An attacker who gets onto one of them is one step away from personal data.

If personal data is breached, the data controller must notify Thailand's Personal Data Protection Committee office within 72 hours of becoming aware of it, unless the breach poses no risk to people's rights and freedoms. Your DPO should hear about it as soon as the team suspects a machine was accessed.

One more detail is worth noting from the OpenSSH 10.6 release notes. The team says it has recently received a large number of security reports, many of them findings from AI models, and has seen bugs found by AI tools later discovered independently by a different researcher. So the team will release more often instead of batching fixes for the next planned release. For IT teams, that means the update cycle for basic packages like SSH should get shorter too.

Checklist for this week

  1. List every machine and container with an open SSH port, including cloud servers, branch office machines and containers run by outside providers, and mark which ones use Alpine or another musl-based distribution.
  2. On Alpine machines, run apk upgrade -U -a, then restart sshd. Alpine stresses that upgrading the package does not replace the running daemon, so the restart is on you.
  3. If you cannot update yet, set PasswordAuthentication no and restart sshd. Before you do, confirm key login works, and keep your current session open until a fresh login succeeds.
  4. Rebuild your own Docker images from a fixed base image. For vendor images, ask the vendor whether a fixed release is out.
  5. Check /var/log/messages for sshd lines reading Accepted password for an account that has no password, and review doas use, newly created users and changed authorized_keys files. If you cannot rule out a login, Alpine advises treating the machine as compromised.
  6. Restrict the SSH port to your VPN or a set of known IP addresses instead of the whole internet, whether or not you have patched.
  7. If you find signs of access on a machine that can reach personal data, tell your DPO right away and record when you became aware, so they can judge whether a PDPA breach notice is needed.

Last week another exploited authentication bypass hit firewalls; see the SonicWall SSL VPN case. If your team is unsure which patches come first, read our piece on risk-based patch prioritization.

What Enersys does

We have built and supported business software for 14 years, covering ERP systems, AI work, and personal data protection under the PDPA. Updating servers is your system administrator's job, but if you want to know which outside paths lead into your ERP and connected systems, which machines hold which sets of personal data, and what to prepare before an incident, talk to the Enersys team.

Sources

"Empowering Innovation,
Transforming Futures."

Contact us to make your project a reality.