← Back to all advisories
ELTON exploitability notification
High

SSHole: OpenSSH on musl-Based Devices Accepts Any Long Password

Advisory ID
ELTON-EN-2026-003
Category
Authentication bypass in sshd password checking
Vendor
OpenSSH (portable), on musl libc
CVE
CVE-2026-123158
Affected
OpenSSH before 10.6p2 on Linux with musl libc and PAM disabled
CVSS
8.1 (v3.1, CVE record)
First Published
November 11, 2026
Status
Exploited in the wild. On CISA KEV. Fixed in 10.6p2
MedDevice AI Security MonthlyThe live notifications, worked through on real devices every month. One hour, free, with the recording and slides sent to everyone who registers.Save your seat →
How it is exploited

The chain on an example product

DemoMonitor M3 is a fictional bedside patient monitor, built only to show the path. Its firmware is a small Linux image on the musl C library, it keeps OpenSSH open on the ward network for field service, and its key-only service account can become root without a password. The graph is how ELTON reads this notification on a product like it: toggle the entry vector and the preconditions, apply a mitigation, and watch the verdict change. It is the same dependency graph ELTON builds for every product it tests: entry vectors produce conditions, findings require them, and the chain decides which of the four verdicts a finding gets on that device.

PreconditionsNetwork reach to the SSH port, an OpenSSH build on musl without PAM with password logins on, and one account whose password field is *. No credentials and no user action: the attacker needs only the name of that account.
PostconditionsA shell as the key-only account. Where that account can run doas or sudo without a password, the attacker is root and owns the device, its stored credentials and every route it has.
VerdictDirectly exploitable. One connection logs in. Close the SSH port to the ward network and it becomes an unexploitable weakness there. Update OpenSSH and restart sshd, or turn password logins off, and it becomes a mitigated weakness; removing passwordless root mitigates only the escalation step.

Risk Summary

SSHole is an authentication bypass in the OpenSSH server, CVE-2026-123158, disclosed on November 5, 2026 and rated 8.1 on CVSS v3.1. On Linux built with the musl C library and without PAM, an attacker who can reach the SSH port logs in to an account that has no password by sending any password between 257 and 1,024 bytes. It takes one connection and it works every time.

The accounts it opens are the ones a team counts as safest: key-only service and deployment accounts, whose password field holds a single asterisk because no password was ever set. Exploitation began less than nine hours after the CVE was published. CISA added it to the Known Exploited Vulnerabilities catalog on November 9, and proof-of-concept code is public.

Medical devices sit inside the affected population. musl is the default C library in Alpine and OpenWrt and a common choice in Yocto and Buildroot images, small firmware rarely includes PAM, and OpenSSH is the usual door for field service. A fielded device keeps the sshd it was built with until a firmware update ships. ELTON rates this High, and Critical on any product where the account an attacker reaches can become root.

Technical Details

Without PAM, sshd checks a password itself. It hashes the attempt with the C library's crypt() function and compares the result with the account's stored password field. When the stored field is too short to hold a salt, sshd borrows the salt of another account and hashes anyway, a 2016 change that closed a timing leak of valid usernames (CVE-2016-6210).

musl's crypt() refuses a password longer than 256 bytes and returns the string * to signal the error. An account with no password stores that same * in its password field. The two strings are equal, so sshd treats the password as correct.

The conditions, from the Alpine Linux advisory:

  • sshd is built without PAM, or runs with UsePAM no.
  • PasswordAuthentication is yes, which is the OpenSSH default.
  • The target account's password field is *: a key-only user, a directory-service user, or root on images that ship it that way.
  • At least one other local account has a $5$ or $6$ password hash, which supplies the borrowed salt.

Fixed release: OpenSSH 10.6p2, published November 5, 2026. The OpenSSH project places the root cause outside sshd and closed it there anyway. Alpine Linux published fixed packages for every branch from 3.16 to edge the same day. Installing the update does not replace the running daemon, so the old binary keeps accepting logins until sshd restarts.

Özgün Kültekin of Wakefield found the flaw with swarms of AI agents, building sshd in every combination and sending about 17,600 unusual login attempts at the builds. Only the musl build without PAM let in logins it should have refused. The OpenSSH release notes say the project now receives a large number of AI-assisted reports and will release more often because of it.

Which Devices Are Affected

A device is affected when all of these hold:

  • It runs OpenSSH sshd older than 10.6p2 without a backported fix, linked against musl, with PAM compiled out or switched off.
  • Password logins are on, and an account that may log in over SSH has * as its password field.
  • Another local account has a password hash.
  • The SSH port is reachable from a network an attacker can reach: a hospital VLAN, a service Wi-Fi, a VPN used for field support, or the internet.

Where it hides in a medical product:

ComponentTypical SSH useWho can reach it
Device firmwareField service, manufacturing and log retrieval on the Ethernet or Wi-Fi interfaceAnyone on the device's network segment
Gateway, hub or dockRemote support and provisioningThe clinical network
Vendor appliance or server imageManagement access the vendor maintains, often on an Alpine baseHospital IT network
Containers and cloud imagessshd inside an Alpine-based image. Alpine's own cloud images from 3.18.11 through 3.24.3 ship a default user with no password and passwordless rootThe internet or a VPN

Not affected: systems built on glibc, such as Debian, Ubuntu and Fedora; builds that check passwords through PAM; Dropbear; OpenBSD. A device with password logins off is safe, and so is an account locked with ! in its password field.

The SBOM lists OpenSSH and its version. It does not say which C library sshd was linked against, whether PAM was compiled in, what the password setting is, or which accounts hold a *. Those are facts of the build and its configuration, and they decide the exposure.

Finding every affected product across a portfolio is a search on those shared attributes. ELTON runs it on the digital twin it builds for every product during onboarding, before any test runs: a blueprint of the product, deeper than a threat model, with its components, interfaces, software materials and the network each interface listens on. One query across the twins lists every product that answers SSH, the build behind it, and the access ELTON holds to each one. The next sshd flaw is the same query.

Exploitability

Unauthenticated, remote, one connection. The attacker needs the name of an account that has no password, and those names are predictable: a vendor's service account, a deployment user, the default user of a base image. There is no race and no memory corruption, so one attempt is enough.

The CVE record scores attack complexity as high because the configuration has to line up. On a device it lines up at build time, the same way on every unit shipped.

What it yields: a shell as that account. On a device, that is its configuration, its stored data and credentials, the service functions behind the login, and a foothold on the clinical network. OpenSSH's default setting keeps root itself from logging in with a password, so the path to root runs through an account that can elevate without one.

Whether a specific product is exploitable depends on its build and its configuration as shipped, so the answer comes from a login attempt on the device. A version number alone cannot give it.

How ELTON reaches the verdict: the finding is placed in the product's exploit chain with the entry vector and the conditions it needs. The chain above is the one for the example monitor, and it decides whether the finding is directly exploitable, conditionally exploitable, an unexploitable weakness or a mitigated weakness on this device. The method is the dependency graph, and it is why a monitor whose SSH port is closed outside service mode gets a different verdict from the same CVE than one that answers on the ward network.

Regulatory View (Section 524B)

Section 524B asks for a plan to monitor, identify and address postmarket vulnerabilities, and for patches as soon as possible, out of cycle, for critical vulnerabilities that could cause uncontrolled risks. A remote login bypass in CISA's Known Exploited Vulnerabilities catalog meets that description wherever the port is reachable.

OpenSSH is an SBOM component, so a reviewer can see the version. A submission in review that ships an affected build will be asked for its assessment, and the answer needs the build facts the SBOM leaves out. Settle it before sending the submission in.

Postmarket, the plan needs the exposure assessment per product: which products run sshd, on which C library, with which authentication settings, where the port listens, the test result, and for products not yet updated, the compensating controls communicated to customers.

Mitigation

  1. Update OpenSSH to 10.6p2, or take the distribution's fixed package for the branch in use, and restart sshd.
  2. Until the update ships, set PasswordAuthentication no and restart sshd. Either measure closes the hole.
  3. Lock accounts that never log in: a ! in the password field refuses the login outright.
  4. Take SSH off networks that do not need it: closed outside service mode, a service VLAN, firewall rules.
  5. Remove passwordless root from any account reachable over SSH.
  6. Check for a break-in: an "Accepted password for" log line naming an account that has no password, new users, new authorized keys. If a login cannot be ruled out, treat the device as compromised.
  7. Record the C library, PAM and the sshd settings beside the SBOM entry, so the next sshd CVE is a lookup.

Verifying the fix: once the update is built, ELTON's agentic pentesting runs the login again against the whole physical product in the lab: the oversized password against every passwordless account, on the running daemon, with the interim setting where the patch has not shipped. The test case is the one that found the exposure, so the retest is the same case, and the result is evidence that the login is refused on the shipped build. The reach into the physical device is TestLink, the appliance ELTON puts on your bench or in its own lab. Only ELTON has it, and it carries the pipeline from software into the physical product: the models build the test and TestLink runs it on the real device.

What ELTON Verifies

  1. Inventory from the digital twin and the SBOM: which products run OpenSSH sshd, on which C library, with or without PAM, and where the port listens.
  2. Reachability of the SSH port on the device's real network interfaces, as shipped and in service mode.
  3. The login itself against the real product through TestLink: an oversized password for each passwordless account, evidenced, so the disposition rests on a result.
  4. What the account reaches once it is in: elevation to root, stored credentials, routes to other systems.
  5. Verification that the fix or the interim setting is active on the running daemon.
  6. A verdict per product, directly exploitable, conditionally exploitable, or unexploitable weakness, with the evidence attached for the 524B plan or the submission.

Findings on a covered product arrive in days. The agentic pipeline builds the test once and runs it again after the fix. See exploitability verification and the incident response process.

Disclosure Template

A manufacturer with an affected product sends its customers a disclosure statement: where the exposure sits, the exploit chain, the verdict, the fix and its status, and the test that proves the fix. ELTON builds that statement and the VEX for its customers from platform data. The same statement is available as a blank template to complete by hand, with a finished example, on the disclosure templates page.

Timeline

  • 2012musl's crypt() begins refusing SHA-256 and SHA-512 passwords over 256 bytes, returning * as the error.
  • 2016OpenSSH changes sshd to hash against a borrowed salt for accounts with no usable hash, closing a username timing leak (CVE-2016-6210).
  • 2026-11-05OpenSSH 10.6p2 released with the fix. Alpine Linux publishes its advisory and fixed packages for 3.16 through edge. CVE-2026-123158 is published at 16:17 UTC.
  • 2026-11-06Previdian records an exploitation attempt less than nine hours after the CVE was published, and confirms root access on a honeypot.
  • 2026-11-09CISA adds CVE-2026-123158 to the Known Exploited Vulnerabilities catalog, with a due date of November 12. watchTowr reports that botnets and cryptocurrency miners are using it.
  • 2026-11-11ELTON exploitability notification published.

References

Find out which products in your portfolio answer SSH on a musl build.Inventory from the digital twin, the login attempted on the real device, disposition per product.

Questions

Common questions about
SSHole on medical devices.

What is SSHole?

SSHole is the name for CVE-2026-123158, an authentication bypass in the OpenSSH server disclosed on November 5, 2026 and rated 8.1 on CVSS v3.1. On Linux built with the musl C library and without PAM, an attacker who can reach the SSH port logs in to an account that has no password by sending any password between 257 and 1,024 bytes. ELTON tracks it as exploitability notification ELTON-EN-2026-003.

Which OpenSSH versions are fixed?

OpenSSH 10.6p2, released November 5, 2026. Alpine Linux published fixed packages for every branch from 3.16 to edge the same day, and other distributions carry their own backports. The update does not replace the running daemon, so sshd has to be restarted before the fix takes effect.

Why does this matter for a medical device?

Small embedded Linux images are often built on musl, rarely include PAM, and keep OpenSSH open for field service. Their service accounts are usually key-only, which means the password field holds the single asterisk this flaw matches. A device like that, reachable on a hospital network, gives a shell to anyone who knows the account name, and fielded firmware keeps the vulnerable sshd until an update ships.

What can be done before the firmware update ships?

Turn password logins off with PasswordAuthentication no and restart sshd, which closes the hole on its own. Close the SSH port outside service mode or move it to a service VLAN, lock accounts that never log in, and remove passwordless root from accounts reachable over SSH. Then check the logs for an accepted password on an account that has none.

How does ELTON determine which products are exposed?

The SBOM lists OpenSSH and its version, but the exposure depends on build facts it does not carry: the C library, PAM, the password setting and the accounts. ELTON reads those from each product's digital twin, then attempts the login on the real device through TestLink and records the result. Each product gets one of four verdicts with the evidence attached.

Exploitability management for medical devices. FDA §524B methodologyExploitability proven at runtime95% faster than legacy testing Book a Demo →
Platform
OverviewAvoid FDA DeficienciesAvoid Consulting FeesDigital Twin TraceabilityAI MedDevice PentestingFDA Vulnerability VerificationVulnerability ChainingRemediation OptimizationRemote TestLink™Incident ResponseAutomated VEX & MetricsCVSSv4 Migration
Solutions
EnterpriseStartups / SMBs Postmarket SurveillanceIncident ResponseSecurity EngineeringRegulatory AffairsFDA §524BEU MDR/CRAEU REDNIS2IMDRF N60 / N73Japan MHLWAI-Enabled DevicesDevice Modalities
Why ELTON
100% ComplianceFDA TraceabilityFDA Vulnerability VerificationFDA-Qualified CVSSv3CVSSv4 MigrationQMSR Audit Compliance One SolutionTesting ProcessPosture ManagementAI-PoweredELTON vs. Legacy TestingPricing
Resources
FDA Deficiency ListFDA Testing RequirementsFDA Cyber SOPs & TemplatesVulnerability Disclosure TemplatesExample Test ReportRemediation LibraryRegulatory GuidesWebinarsAI NewsletterThe End of Legacy TestingThe AI Vulnerability ExplosionAI Inside the ProductCybersecurity TestingSecurity AdvisoriesWhitepapersIntelligence & Blog
Company
AboutCredentialsLeadershipPartnershipsData SecurityContact Meet ELTON →