Hi,
NethSecurity 8.8.0 currently ships with openssh-server-10.3_p1-r1 pre-installed and linked against musl libc without PAM support, which is affected by CVE-2026-123158 (CVSS 8.1, dubbed SSHHole / *sshole) — a password authentication bypass in sshd(8) when interacting with musl’s crypt() implementation:
root@nethsec:~# apk list -I | grep openssh
openssh-keygen-10.3_p1-r1 x86_64 {feeds/packages/feeds/packages/net/openssh} (BSD ISC) [installed]
openssh-server-10.3_p1-r1 x86_64 {feeds/packages/feeds/packages/net/openssh} (BSD ISC) [installed]
openssh-sftp-server-10.3_p1-r1 x86_64 {feeds/packages/feeds/packages/net/openssh} (BSD ISC) [installed]
root@nethsec:~# ldd /usr/sbin/sshd
/lib/ld-musl-x86_64.so.1 (0x7f19c6733000)
libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0x7f19c6145000)
libz.so.1 => /usr/lib/libz.so.1 (0x7f19c6131000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7f19c6113000)
libc.so => /lib/ld-musl-x86_64.so.1 (0x7f19c6733000)
root@nethsec:~# netstat -tlpn | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2256/dropbear
tcp 0 0 :::22 :::* LISTEN 2256/dropbear
On musl-based systems with PAM disabled and password authentication enabled (PasswordAuthentication yes), submitting a password between 257 and 1024 bytes causes musl’s SHA-512 crypt() to fail and return the literal string "*". Because sshd borrows a salt from an existing password-protected account (such as root) to prevent username timing enumeration, it compares the "*" error return value against the stored password field in /etc/shadow. Any account whose password field is set to "*" (such as key-only or passwordless accounts) matches "*" == "*" and grants remote login without a valid password.
By default, NethSecurity 8.8.0 uses dropbear on port 22 (which is not affected by CVE-2026-123158) and sshd is not running out of the box (no hostkeys available). However, because openssh-server is pre-installed in the base image alongside openssh-sftp-server, any administrator who enables sshd (either to replace dropbear or on a secondary port) with password authentication active is exposed.
In upstream Portable OpenSSH, this vulnerability is fixed in OpenSSH 10.6p2 (released on 2026-11-05) by rejecting stored password hashes that are too short to represent a valid hash.
References: