Cybersecurity & Privacy

Critical OpenSSH Flaw Exposes Alpine Linux and Musl-Based Servers to Password-Bypass Attacks

A critical security vulnerability affecting the OpenSSH server package on Alpine Linux and other systems utilizing the musl C library has forced an immediate response from developers and administrators worldwide. Discovered and reported by independent security researcher Özgün Kültekin, the flaw allows unauthorized network attackers to bypass authentication and gain access to user accounts that lack traditional passwords—such as accounts strictly configured for SSH key-based authentication—by supplying an unusually long, specially crafted password string.

OpenSSH project maintainers have rated the vulnerability as critical. Moving swiftly to mitigate potential exploits, the OpenSSH development team released version 10.6p2 to neutralize the bug. Simultaneously, Alpine Linux maintainers issued patched packages covering every supported and end-of-support release branch dating back to version 3.16. Although no active in-the-wild exploitation has been documented at the time of publication, system administrators have been strongly urged to apply updates or implement immediate configuration workarounds to secure exposed environments.

Technical Mechanics of the Vulnerability

The security defect emerges from a complex interaction between the OpenSSH daemon (sshd), the Pluggable Authentication Module (PAM) architecture, and the musl C library underpinning Alpine Linux. Under standard configurations where PAM is absent and password authentication remains enabled, sshd handles password verification internally.

When an account possesses no password—indicated in shadow files by a placeholder such as an asterisk (*)—it lacks a legitimate cryptographic salt, which is the randomized data prefix required to construct and verify a secure password hash. To process verification requests securely, sshd borrows the salt of another account on the machine that does utilize a valid password hash.

The vulnerability is triggered when an attacker supplies a password payload ranging between 257 and 1,024 bytes in length via a single network connection. Within the musl C library, the crypt() function—responsible for turning plaintext passwords into hashed representations—enforces a strict internal limit, refusing to process passwords longer than 256 bytes to mitigate potential Denial-of-Service (DoS) vectors. When faced with an oversized string, musl’s crypt() returns an unmatchable error signal represented as an asterisk (*).

Because this error indicator matches the stored asterisk of a passwordless account, sshd incorrectly interprets the response as a successful authentication match. Consequently, the server grants the attacker full access to the target account. Crucially, the vulnerability succeeds on the first attempt using a single network connection, provided the attacker has network access,

OpenSSH Issues Emergency Fix for Flaw Letting Long Passwords Bypass SSH Auth on Alpine Linux

a valid target username for a passwordless account, and knowledge of at least one other standard account on the host system that maintains a traditional password hash.

Conditions for Exposure and Affected Distributions

According to the official Alpine Linux security advisory, a server is considered vulnerable only when a specific set of parameters align simultaneously. Specifically, the host must satisfy all of the following conditions:

  • The standard openssh-server package is installed and running without the PAM interface enabled.
  • Password authentication is explicitly enabled in the SSH configuration (PasswordAuthentication yes).
  • At least one active account on the system possesses a valid password hash (specifically utilizing $5$ or $6$ modular crypt formats).
  • The target account features no local password, relying solely on cryptographic keys or remaining uninitialized.

While Alpine Linux is the most prominent platform impacted due to its default omission of PAM and its reliance on musl, the vulnerability is not restricted to Alpine alone. Kültekin’s technical analysis highlights that other lightweight distributions utilizing the musl C library—such as OpenWrt, Buildroot, and Yocto—warrant immediate auditing. However, distributions utilizing the GNU C Library (glibc), non-Linux operating systems, or architectures enforcing PAM-based authentication are inherently immune to this specific vector.

Notably, specialized cloud environments are also affected under certain conditions. For instance, Alpine’s tiny-cloud virtual machine images spanning versions 3.18.11 through 3.24.3 provision the default alpine user with passwordless doas privileges. While these instances remain secure upon initial boot, they instantly become vulnerable the moment an administrator establishes a console password or any other administrative mechanism introduces a standard $6$ password hash to the host. Once compromised, an attacker gaining entry to the passwordless alpine user account can leverage doas to escalate privileges instantly to root.

Chronology and Industry Response

The discovery and remediation timeline unfolded rapidly over a compressed period, emphasizing the shifting strategies of open-source maintainers facing automated threat landscapes.

  • August 2012: Historical architectural decisions are laid down in the musl C library, introducing a 256-byte password processing limit and the behavior where failed crypt() calls return an asterisk rather than a null pointer.
  • July 2016: OpenSSH introduces changes to address CVE-2016-6210, a user-enumeration flaw, which inadvertently establishes the mechanism of borrowing salts from adjacent user accounts during failed lookups.
  • November 2026: Independent researcher Özgün Kültekin identifies the systemic interaction between musl and OpenSSH, documenting the vulnerability in a technical write-up.
  • Early November 2026: The OpenSSH security team is privately notified of the flaw and immediately begins drafting patches.
  • Day of Disclosure: OpenSSH publicly releases version 10.6p2. Simultaneously, Alpine Linux publishes patched point releases (including versions 3.21.10, 3.22.8, 3.23.8, and 3.24.4, alongside retrospective updates for end-of-life branches 3.16 through 3.20).

In his public release announcement, Damien Miller of the OpenSSH project addressed the accelerated disclosure timeline, noting that the project team deliberately avoids prolonged vulnerability embargoes. The rationale reflects modern cybersecurity realities: prolonged secrecy predominantly benefits threat actors, particularly as malicious entities increasingly deploy automated artificial intelligence agents capable of independently discovering identical software bugs within hours of code modifications.

As of the initial disclosure, no official Common Vulnerabilities and Exposures (CVE) identifier had been formally assigned to the flaw, though industry tracking teams are expected to catalog it shortly.

OpenSSH Issues Emergency Fix for Flaw Letting Long Passwords Bypass SSH Auth on Alpine Linux

Immediate Mitigation and Remediation Strategies

For administrators managing Alpine Linux instances or other musl-based servers running OpenSSH, addressing the vulnerability requires a two-step operational approach: updating the underlying software packages and explicitly restarting the active SSH daemon. Simply upgrading the package via Alpine’s package manager (apk upgrade) updates the binaries on disk but leaves the running instance of sshd vulnerable in memory.

Administrators can execute the full remediation sequence using standard command-line tools:

apk update
apk upgrade openssh-server
rc-service sshd restart

For environments unable to update packages immediately, the OpenSSH project and Alpine security teams recommend disabling password-based authentication globally as an effective stopgap measure. Administrators should verify that existing SSH key-based authentication functions correctly, ensure current terminal sessions remain open as a safety net, and implement configuration updates:

  1. Create or modify a drop-in configuration file within /etc/ssh/sshd_config.d/ (supported natively in Alpine 3.19 and later) or directly edit /etc/ssh/sshd_config.
  2. Explicitly set PasswordAuthentication no.
  3. Validate syntax integrity by running sshd -t.
  4. Restart the service to apply changes.

Verification can be performed by querying the active daemon configuration with sshd -T | grep -i passwordauthentication, which should explicitly return passwordauthentication no.

Furthermore, forensic auditing is strongly encouraged for any server that met the exposure criteria prior to patching. System administrators should inspect /var/log/messages for suspicious Accepted password for entries associated with accounts traditionally lacking passwords (such as alpine, root, or key-only users). Reviewing recent doas or sudo execution logs, inspecting newly created user accounts, and auditing authorized keys files are essential steps. The Alpine advisory issues a stark warning for enterprise environments: if unauthorized access cannot be definitively ruled out, the affected machine must be treated as fully compromised.

Related Articles

Back to top button
Snapost
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.