Technology·News & analysis
A 256-character password can unlock some Linux servers
A decade-old bug between OpenSSH and the musl library lets attackers log in to Alpine Linux accounts that should block passwords. OpenSSH 10.6p2 fixes it.

Tide
Ripple
Sci-fi
4/10
Reality
Shipping
A door that opens if you shout the password long enough.How we rate
A security researcher published a flaw nicknamed *sshole that lets attackers log in to password-blocked accounts on Linux systems that use the musl library, including Alpine Linux.
A password longer than 256 bytes triggers it. The bug has existed since 2016 and needs several settings to line up. OpenSSH 10.6p2 fixes it, and turning off password logins is a quick workaround.
What to know
- A flaw nicknamed *sshole lets an attacker log in to accounts that block passwords on Linux systems using the musl library, such as Alpine Linux, by sending a password longer than 256 bytes.
- The bug has existed since 2016 and was published on November 5, 2026 by researcher Özgün Kültekin.
- It needs several conditions at once, including OpenSSH without PAM, password logins turned on, one locked account and one account with a real password.
- OpenSSH 10.6p2 fixes it, and the quick workaround is setting PasswordAuthentication to no.
A security researcher has shown that typing a very long password can log you in to some Linux accounts that are supposed to refuse passwords completely. The bug is nicknamed *sshole, and the OpenSSH team shipped a fix on November 5, 2026.
How does a password that should never work end up working? It comes down to two programs misunderstanding each other.
What is OpenSSH, and what is musl?
OpenSSH is the free program that most servers use for remote logins. When an admin connects to a server from far away, OpenSSH is usually the doorman.
Musl is a small C library. A C library is a bundle of basic code that nearly every program on a Linux system borrows. Most big distributions, such as Debian, Ubuntu and Fedora, use a larger one called glibc. Alpine Linux, OpenWrt, Buildroot and Yocto use musl instead.
Alpine is popular for containers, which are tiny packaged servers. Its small size is a big part of the appeal.
How can a long password break in?
Linux can lock an account's password. In the file where passwords are kept, the stored fingerprint of the password (a "hash") is replaced by a single asterisk. An asterisk is not a valid hash, so no password should ever match it.
The trouble started in 2016. OpenSSH had a different bug, tracked as CVE-2016-6210, that let attackers guess which usernames exist. They could tell by timing: a real user took slightly longer to reject than a fake one.
To fix that, OpenSSH began doing the password-hashing work even for accounts with no usable hash. That way, every login attempt takes about the same time.
Musl's hashing function also returns an asterisk when it fails, including when the password is longer than its 256-byte limit.
So an attacker sends an oversized password. Musl fails and hands back an asterisk. OpenSSH compares that asterisk to the account's stored asterisk, sees a match and lets the person in.
In real life Imagine a bouncer who checks your ID against a list, and the list says "none" for one guest. If you hand over a card so long that the scanner breaks and prints "none," the bouncer sees two matching "nones" and waves you through.
Who is actually at risk?
The researcher says several things must be true at once:
- The system: OpenSSH runs on musl-based Linux, such as Alpine Linux, OpenWrt, Buildroot or Yocto.
- No PAM: PAM, the standard Linux login framework, is turned off. That is the default in Alpine's openssh-server package.
- Passwords on: SSH password login is enabled.
- A locked account: at least one account has an asterisk as its hash.
- A normal account: another account has a valid password hash.
The catch: the flaw does not let anyone skip the password on an account that has a real password hash. It only opens the accounts that were meant to be locked.
Systems that use glibc, including Debian, Ubuntu and Fedora, are not vulnerable. Neither are systems that use PAM.
Why is Alpine the big worry?
Alpine ships with the right settings by default. That is why it needs patching first.
The researcher points to one detail that raises the stakes. Alpine's official cloud images for AWS and Azure include a default account named alpine. That account can run commands as the all-powerful root user without a password, using a tool called doas. If an attacker gets into it, they could take over the machine.
Other systems are less exposed. OpenWrt, which runs on many home routers, uses a lighter tool called Dropbear for logins by default, though users can install OpenSSH instead. The bug is also present in Buildroot, Yocto and Void Linux, but not always switched on.
It is also worth noting that most Alpine machines are not reachable from the open internet. Even so, anyone already inside a network, such as a company network, a home lab or a cloud network, could try it. All it takes is one valid account, and scanning for the bug is simple.
Who is to blame?
OpenSSH says the root cause is outside its own code, in the way the library reports errors. Its release notes call the fix a "critical security workaround" and say the bug is exploitable through the OpenSSH server.
Musl's author, Rich Felker, also published a post. Looking from the outside, both sides seem to see the other as the cause, and the fault looks shared. The bug is the result of two sensible choices that fit badly together.
How was it found?
Özgün Kültekin discovered the flaw and published the details on November 5. He says AI agents, meaning programs that work through tasks on their own, ran about 17,600 login tests, mixing OpenSSH settings, broken password hashes and oversized passwords.
The OpenSSH team has noticed a surge in such reports. Its release notes say many security reports now come from AI models, and that some bugs found by AI are later found independently by other researchers. The team takes that as a sign that attackers who never report bugs can find them too.
So OpenSSH says it will make more frequent releases for now, rather than waiting for a big planned one.
Why did nobody catch it for ten years?
The bug sits between two programs, and each one looked fine alone. OpenSSH added extra hashing in 2016 to close the username-guessing hole. Musl returned an asterisk on failure, which is a legal answer in its own world.
The problem only shows up when a password is longer than 256 bytes, and almost nobody types one by accident.
Testing the two together is what found it. That is what the 17,600 automated login tests did: they tried many odd combinations of settings, broken hashes and oversized passwords.
How big could the damage be?
Alpine is a common choice for Docker and Kubernetes containers, Proxmox setups, cloud servers and embedded devices. That adds up to what could be millions of installs, and many hide inside other software that nobody thinks about.
Most of those boxes are not facing the internet. The risk is an attacker who already has a foothold, for example through one stolen account in a large company, and then walks further in.
What's next: admins now have to find every place Alpine is hiding. Updating the packages is quick, but knowing which containers and devices run OpenSSH with passwords on is the slow part.
How do I fix it?
The fix is in OpenSSH 10.6p2. On Alpine Linux, admins can update with apk upgrade openssh.
If you cannot update right away, turn off password logins. Set PasswordAuthentication no in the SSH server settings and restart SSH. Key-based logins keep working.
To look for signs of an attack, search the logs for password logins to accounts that should not allow them. On Alpine, grep "Accepted password" /var/log/messages lists successful password logins. If the alpine account shows one while its password field holds an asterisk, that could mean the bug was used.
For another recent emergency fix of this kind, see our story on the PHP flaws patch.
What it means for you
- If you run Alpine or OpenWrt with OpenSSH: update to 10.6p2 today.
- If you cannot update yet: switch off SSH password login and use keys.
- If you use Debian, Ubuntu or Fedora: this bug does not touch you.
- If you run cloud images: check the default alpine account.
The bottom line
A ten-year-old mix-up between two small pieces of code let a long password open a locked door on some Linux machines. It needs a specific setup, and a fix is out. Patch first, then take a moment to ask why passwords are still on.
Key facts
- Nickname
- *sshole
- Found by
- Özgün Kültekin
- Present since
- 2016
- Fixed in
- OpenSSH 10.6p2, released 2026-11-05
- Not affected
- glibc systems such as Debian, Ubuntu and Fedora
Got questions?
Quick answers, plain wordsWhat is the *sshole bug?
It is a flaw that appears when OpenSSH runs on a Linux system that uses the musl library. A password longer than 256 bytes can log an attacker in to an account that is supposed to block passwords.
What is OpenSSH?
OpenSSH is the free program most servers use to let people log in over a network in a secure way. System administrators use it every day to manage machines remotely.
What is musl?
Musl is a small C library, a bundle of basic code that programs on a Linux system rely on. Alpine Linux, OpenWrt, Buildroot and Yocto use it instead of the larger glibc.
Which systems are affected?
OpenSSH servers on musl-based Linux, including Alpine Linux, OpenWrt, Buildroot and Yocto, under certain settings. Systems built on glibc, such as Debian, Ubuntu and Fedora, are not vulnerable.
Can an attacker bypass any password with this?
No. The flaw does not bypass passwords on accounts that have a valid password hash. It only works on accounts whose password field is a single asterisk, which means password logins are blocked.
What conditions are needed for an attack?
OpenSSH must run on musl-based Linux with PAM turned off and password login turned on. At least one account must have an asterisk as its password hash, and another account must have a valid one.
How do I fix it?
Update to OpenSSH 10.6p2. On Alpine Linux, run apk upgrade openssh. If you cannot update yet, set PasswordAuthentication no in your SSH server configuration and restart SSH.
How can I check whether I was attacked?
Look in your SSH logs for password logins to accounts that should not allow them. On Alpine, the command grep "Accepted password" /var/log/messages shows successful password logins.
Are Alpine cloud images at risk?
The researcher warns that Alpine's official AWS and Azure cloud images have a default account named alpine that can run commands as root without a password. That could let an attacker take full control.
Who found the bug?
Security researcher Özgün Kültekin found it, using an AI agent, which means a program that works through tasks on its own. It ran about 17,600 login tests. He published the details on November 5, 2026.
SourcesOpenSSH
Topics and tagsCybersecurity, openssh, alpine linux, cybersecurity
Go deeper
Related stories

Chainalysis says hackers took logins and tokens for all its customers
The crypto-tracing firm says an attacker used AI agents, then an on-path attack, to take names, password hashes and live tokens for every user. Its tools are back online.

Hackers heat cold rooms at French blood service sites, and a CISA alert follows
Plasma rooms at three French blood service sites were pushed to extreme temperatures on November 2. Alarms caught it, and the wider fridge attacks now reach US military bases.

Asahi Linux brings Apple's M3 Macs out of testing and adds Thunderbolt
The Asahi Linux project says M3 Macs no longer need a special flag to install Linux, and that Thunderbolt and a new way to play PC games are on the way.
More in brief
- YouTube is going back on the Billboard charts in 2027Nov 9
- Apple starts selling $50 packs for extra Apple Intelligence useNov 9
- Windows 11 tests a way to switch off the Sticky Keys popup for goodNov 9
- US regulators question whether Waymo's school bus fix workedNov 9
- NVIDIA unveils GR00T 2 and Isaac Lab 3.0 to teach robots delicate workNov 9
- Tesla launches its robotaxi service in San Antonio, its eighth cityNov 9